如何查询帮助器属性

时间:2014-08-12 16:32:50

标签: entity-framework

对于一些背景知识,我必须对我正在处理的数据库架构进行一些更改,并且我希望避免更改所有查询。

我希望通过使用辅助属性来实现这一点。


假设我有以下模型

public class Table1
{
    [Key]
    public int Table1Id { get; set; }

    public int Value1 { get; set; }
    public int Value2 { get; set; }

    public int TotalValue {get; set;}
}

我有很多像这样的问题

var TotalValues = db.Table1s
    .Select(t => new Table1ViewModel
    {
        Foo = t.TotalValue
    })
    .ToList();

我希望能够移除TotalValue并动态计算,而无需针对使用TotalValue的每个地方搜索我的应用。


我希望能够做的只是将Table1更改为以下

public class Table1
{
    [Key]
    public int Table1Id { get; set; }

    public int Value1 { get; set; }
    public int Value2 { get; set; }

    [NotMapped]
    public int TotalValue 
    {
        get { return Value1 + Value2; }
    }
}

问题在于,如果我这样做,运行查询时会得到NotSupportedException

  LINQ to Entities不支持'TotalValue'。仅支持初始化程序,实体成员和实体导航属性。

有没有办法做我想做的事情?或者至少是类似的东西?

0 个答案:

没有答案