我想存储和查询计算字段。例如,下表:
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
值存储到数据库中并优化此类查询?
(也欢迎其他解决方案)。
感谢
答案 0 :(得分:1)
实际上,当您使用来自DbContext对象的linq表达式时,您正在使用linq-to-entities。
检查另一个答案。 linq to entities vs linq to objects - are they the same?