EntityFramework,如何根据非实体列查询条目?

时间:2017-04-17 12:24:21

标签: c# entity-framework ef-code-first

我想存储和查询计算字段。例如,下表:

public class ModelTest
{
    [Key]
    public int Id { get; set; }

    public int A { get; set; }

    public int B { get { return CSharpFunction(A) ; } } 

}

我希望能够像这样查询表中的值。

results = db.ModelTests.Where(m => m.B = 10);

但是我得到了一个错误的错误:

  

LINQ to Entities中不支持指定的类型成员“B”。仅支持初始化程序,实体成员和实体导航属性。

唯一的方法是从db db.ModelTests.ToList()查询所有条目,然后根据Where statent进行选择。

是否可以将B值存储到数据库中并优化此类查询?

(也欢迎其他解决方案)。

感谢

1 个答案:

答案 0 :(得分:1)

实际上,当您使用来自DbContext对象的linq表达式时,您正在使用linq-to-entities。

检查另一个答案。 linq to entities vs linq to objects - are they the same?