我想讓這個工作幾個小時。我嘗試過這些例子並閱讀文檔,但我無法弄清楚。查詢不同的值
我想用名稱字段從數據庫查詢不同的值。 我認爲這應該工作,但事實並非如此。鮮明的方法,沒有找到
[HttpGet]
public IQueryable<MvlOP> MvlOpsPerson(long mvlId)
{
System.Data.Entity.Infrastructure.DbQuery<MvlOP> query = ContextProvider.Context.MvlOps;
query = query.Include("StatusOP");
return query.Where(op => op.MvlId == mvlId).Distinct(new PropertyComparer<MvlOP>("Id_P"));
}
我得到以下錯誤:
ExceptionMessage=LINQ to Entities does not recognize the method 'System.Linq.IQueryable`1[MAHN.Model.MvlOP] Distinct[MvlOP](System.Linq.IQueryable`1[MAHN.Model.MvlOP], System.Collections.Generic.IEqualityComparer`1[MAHN.Model.MvlOP])' method, and this method cannot be translated into a store expression.
ExceptionType = System.NotSupportedException
因此,這是錯誤的。據我瞭解,微風不提供查詢不同的價值觀。查詢全部和篩選不是一個選項。任何幫助如何做到這一點大加讚賞。
這是Sascha的作品。讓我們提醒讀者,「AsEnumerable()」之後的所有內容都發生在服務器內存中。您應該知道,該點處的數據集將被檢索到服務器,並且該數據集的後續處理(包括來自客戶端的DISTINCT和任何其他過濾條件)將在服務器上進行,而不是在數據層上進行。沒關係......除非數據集可能在數百萬之內。 – Ward
如果有人想出一個想讓數據庫這樣做的想法,我會很樂意將我的解決方案換掉。到目前爲止,我沒有找到。 –