1
我有以下方法:如何在LINQ選擇調用方法
internal void DuplicateGroup(int oldGroupId, int newGroupId) {
IEnumerable<int> res = (from p in Db.table
where p.GroupID == oldGroupId
select p.packSizeID);
foreach (int ps in res)
Db.table.Add(new entityclass { GroupID = newGroupId, packSizeID = ps });
}
的方法建立與期望ID的列表,然後添加了新rescords與newGroupIDs同桌。問題是:是否可以在select中調用方法?
如果這是Linq to Entities(我認爲它是),那麼沒有。在SQL選擇查詢中,您無法從代碼中調用方法。 – 2014-12-08 08:41:10
是的,它是Linq的實體。 – Franziee 2014-12-08 08:42:15
@Franziee @Andei寫道,你不能在'Select'中調用方法。 EF不知道如何將其轉換爲SQL查詢。例外是'Math'或'SqlFunctions'中的一些方法 - 這些方法對於EF而言是已知的,並且它知道如何翻譯它們。您也可以使用ToList()然後進行投影,但它會將記錄提取到內存中。 – 2014-12-08 08:47:51