数据库
首页 > 数据库> > LINQ to SQL编写可翻译函数

LINQ to SQL编写可翻译函数

作者:互联网

我敢肯定,答案是“你做不到”或“不,不,你误会了……”,但是:

我有一个linq类,它可以愉快地执行此操作:

 var thingsWithAandB = from t in db.things
                       where t.propA.HasValue && t.propB.HasValue
                       select t;

但是我经常这样做,所以我想要:

partial class thing
{
    public bool hasAandB
    {
        get
        {
            return propA.HasValue && propB.HasValue;
        }
    }
}

接着:

var thingsWithAandB = from t in db.things where t.hasAandB select t;

但是,当然,当我这样做时,会出现“无法将其转换为SQL”错误.我知道这是因为在我的代码和数据库是分开的情况下,不可能在SQL查询中间调用方法.

这是怎么做的?不可能吗

解决方法:

这是完全可能的. Damien Guard(damieng.com)的博客上有一个示例,展示了如何执行此操作.

http://damieng.com/blog/2009/06/24/client-side-properties-and-any-remote-linq-provider

标签:linq-to-sql,linq,c
来源: https://codeday.me/bug/20191210/2100568.html