我們知道 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
沒有留言:
張貼留言