代碼:如何解決「LINQ to Entities只支持投射EDM原語或枚舉類型。」錯誤?
public MVCCreationOptions GetMVCOptions()
{
IQueryable<AType> aTypes = _mVDataReadService.GetRecords().AreActive<AType>();
var creationOptions = new MVCCreationOptions
{
ATypes = aTypes.ToList()
};
return creationOptions;
}
我收到錯誤消息「無法轉換類型'XX.YY.ZZ.Models.IAbc
爲鍵入‘XX.YY.ZZ.Models.Lookups.Complex.AType
’LINQ到實體僅支持鑄造EDM原始或枚舉類型。」在下面的行
var creationOptions = new MVCCreationOptions
{
ATypes = aTypes.ToList()
};
'.AreActive'未在'.ToList()' –
之後作爲intellisense填充什麼是'.AreActive'。這是你寫的一些自定義擴展方法嗎?如果它是一個擴展方法IQueryable的''你可以嘗試添加一個'.AsQueryable()'後'.ToList()'方法:。'_mVDataReadService.GetRecords()ToList()AsQueryable已()AreActive ( )'。 –
這將不包括任何「活動」相關的選擇在生成的SQL的標準WHERE子句,並會導致次優的性能,因爲它會獲取從DB不需要的記錄,並在內存中創建不需要的對象只是爲了以後宰殺他們在查詢。 –