vb.net - LINQ to SQL 无法将 Int32 转换为 String - 这怎么可能?

标签 vb.net linq-to-sql

我收到此错误

  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
   ...

两个问题:

  1. Int32 怎么可能不能转换为 String?
  2. 我该如何调试这个东西?由于这一切都发生在 LINQ 的内部深处,所以我什至无法得到任何迹象表明这对哪个领域感到愤怒。

最佳答案

可能您的实体映射错误地将 int 映射到某处的字符串?检查新闻通讯每个属性的映射。

关于vb.net - LINQ to SQL 无法将 Int32 转换为 String - 这怎么可能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4110279/

相关文章:

asp.net - 将 ASP.Net System.Net.Mail 设置移动到 Web.config

c# - Linq to Entities - 针对查询语法与方法语法的预测

linq-to-sql - sql server 2008 表值参数 linq2sql

asp.net - 删除最后两个字符串字符!

c# - 在 VB.NET 中创建可从 C# 使用的索引器

.net - Visual Basic 如何读取 CSV 文件并在数据网格中显示值?

asp.net - LINQ:按匿名类型排序

c# - Linq2SQL:事务涵盖了SubmitChanges?

c# - 如何在 Linq2SQL 中更新整个对象

ASP.Net 数据库中的用户 Activity 跟踪