我們知道 LINQ to Entities 很好用。但並非所有的 c# 習慣都可以寫到 LINQ to Entities 的 expression 中。
例如:下面的語法就會出錯。
var q = from i in ctx.MyObjects
where i.GuidField == Guid.Parse("xxxx-xxxx-xxxxxxx-xxxx")
select i;
解決的方法呢,就是將 Guid.Parse(”xxxx-xxx”) 這一樣拿出去 LINQ 外即可。如下
var guid = Guid.Parse("xxxx-xxxx-xxxxxxx-xxxx");
var q = from i in ctx.MyObjects
where i.GuidField == guid
select i;
LINQ to Entities 看到了語法中有不支援的 CLR Function,就不知道該怎麼辦。
那LINQ to Entities支擾哪些 CLR Fuction呢?見 CLR Method to Canonical Function Mapping
沒有留言:
張貼留言