2010年7月22日 星期四

LINQ to Entities: 可使用的 CLR Functions

我們知道 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

沒有留言:

Share with Facebook