【发布时间】:2013-09-06 11:08:25
【问题描述】:
我在使用 LINQ to Entities 查询时遇到问题,我要连接四个表,但有两个表的数据类型不同,下面的连接列是查询。
var qry = (from i in dc.INTERNETDATAs
join c in dc.COVERS on Convert.ToInt32(i.COVERTYPE) equals c.COV_TYPE
join b in dc.BENEFITS on c.COVERID equals b.COVERID
join p in dc.POLICies on i.REFERENCENO equals p.BACS_POLNO into grp
where i.DATELOADED >= startDate
&& i.DATELOADED < endDate
&& i.CAMPAIGNTYPE == campaignType
&& c.COVERTYPEID == coverTypeId
select i).DefaultIfEmpty();
在上面的代码中第一次加入
join c in dc.COVERS on Convert.ToInt32(i.COVERTYPE) equals c.COV_TYPE
出现以下错误
InnerException: System.NotSupportedException Message=LINQ to Entities 无法识别方法 'System.String ToString()' 方法,并且此方法不能 翻译成商店表达式。 Source=System.Data.Entity
我怎样才能做到这一点?
【问题讨论】:
-
这不是
LINQ to SQL,而是LINQ to Entity——Entity Framework的一部分 -
我相应地编辑了问题。
-
ToString()电话在哪里? -
一开始你说
Convert.ToInt32,但是提到了ToString()的异常? -
COVERTYPE 属性有什么类型?
标签: c# linq linq-to-entities