2
我有一個函數在我的EDM之外,我想將它包含在我的一些Linq to Entities表達式中。該函數返回一個Intn的IEnumerable。我怎麼可能會使用它的一個例子是:指示Linq實體解析函數的結果,而不是函數調用
context.Employees.Where(e => GetValidEmployeeIds().Contains(e.EmployeeId));
功能GetValidEmployeeIds是返回IEnumerable的功能。這個函數的結果不是我可以從數據庫中得到的東西 - 我幾乎必須從EDM中獲取它。
當我執行代碼行時,我得到了「LINQ to Entities does not recognized the method」 - 這使得自從。但是,如果我打破召喚出來表達的正常工作:
var validEmployees = GetValidEmployeeIds();
context.Employees.Where(e => validEmployees.Contains(e.EmployeeId));
我的問題是:有什麼我能做的指示LINQ到實體不解析函數的表達式的一部分?而是解析函數的結果。我希望有一個屬性,我可以裝飾方法,但一直沒有找到。
通常情況下,我只需打開電話而不直接在表達式中使用它即可。但是,我將會很多地使用這個調用,希望能夠清理代碼。