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,这也是 延迟查询的。