读书人

entity语法有关问题求解决

发布时间: 2013-04-20 19:43:01 作者: rapoo

entity语法问题求解决
string[] numbersID = this.HidCIdList.Value.Split(';');
数组的形式是 123[456] 就是一个id加上[另一个id]拼起来的作为唯一标示

List<string> result = new List<string>(numbersID).ConvertAll(i => i);
var Query = (from a in adviceNoteEarnestMoneyTableEntities.AssetsInfo
join b in adviceNoteEarnestMoneyTableEntities.MgProjectBaseInfo on a.ProjectID equals b.ProjectID
join c in adviceNoteEarnestMoneyTableEntities.AssetsType.Where(c=>c.ID==6) on a.AssetsType equals c.ID
join d in adviceNoteEarnestMoneyTableEntities.MgProjectCustomers.Where(d=>d.Type==0) on a.ID equals d.AssetsID
join f in adviceNoteEarnestMoneyTableEntities.CustomerBaseInfo on d.CustomerID equals f.CustomerID

select new
{
CustomerCode = f.MainDataNO,
CustomerID = f.CustomerID,
CustomerName=f.Name,
ProjectCode = b.Code,
ProjectID = a.ProjectID,
AssetsID = a.ID,
ProjectMainNo = b.MainDataNO,
ProjectTitle = b.Title,
AssetsType=a.AssetsType,


Name = c.Name,
Cpid=f.CustomerID+"["+a.ProjectID+"]",
DepreciationReserves = ""
}).Where(m => result.Contains(m.Cpid)).OrderBy(p => p.ProjectID); 报错 无法将类型“System.Int32”强制转换为类型“System.Object”。LINQ to Entities 仅支持强制转换 Entity Data Model 基元类型。
[解决办法]
在select前,先 AsEnumerable,这也是 延迟查询的。

读书人网 >.NET

热点推荐