在編寫EF+Linq的過(guò)程中,可能會(huì)遇到“在 LINQ to Entities 查詢中無(wú)法構(gòu)造實(shí)體或復(fù)雜類型”的問(wèn)題。
解決方法:從原有類型中繼承一個(gè)子類,然后創(chuàng)建子類實(shí)例
下面是例子:
海勃灣ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
private static void Main(string[] args)
{
Boolean s = false;
using(Northwind dbo = new Northwind())
{
IQueryable query;
if(s)
{
// 錯(cuò)誤的寫法,會(huì)出現(xiàn) “在 LINQ to Entities 查詢中無(wú)法構(gòu)造實(shí)體或復(fù)雜類型”錯(cuò)誤
query = from a in dbo.Customers
select new Customers()
{
ID=a.ID,
Address = a.Address
};
}
else
{
// 解決方法,從原有類型中繼承一個(gè)子類
query = from a in dbo.Customers
select new CustomerChild()
{
ID=a.ID,
Address = a.Address
};
}
var c = query.ToList();
Console.WriteLine(c.Count);
Console.Read();
}
}
private class CustomerChild : Customers { }