我收到此错误
Unable to cast object of type 'System.Int32' to type 'System.String'.
执行例行 LINQ to SQL 查询时:
Return (
From n In DbContext.Newsletters
Where n.NewsletterID = NewsletterID
).FirstOrDefault
这是堆栈跟踪 FWIW。
[InvalidCastException: Unable to cast object of type 'System.Int32' to type 'System.String'.]
System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult) +1151
System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries) +113
System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression query) +344
System.Data.Linq.DataQuery`1.System.Linq.IQueryProvider.Execute(Expression expression) +56
System.Linq.Queryable.FirstOrDefault(IQueryable`1 source) +265
...
两个问题:
- Int32 怎么可能不能转换为 String?
- 我该如何调试这个东西?由于这一切都发生在 LINQ 的内部深处,所以我什至无法得到任何迹象表明这对哪个领域感到愤怒。
最佳答案
可能您的实体映射错误地将 int 映射到某处的字符串?检查新闻通讯每个属性的映射。
关于vb.net - LINQ to SQL 无法将 Int32 转换为 String - 这怎么可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110279/