如何将linq中的计算列映射到sql类

时间:2016-01-22 04:07:01

标签: c# sql-server linq

如何将计算列映射到我的LinqToSql类? MSDN告诉我使用表达式属性但是我不知道如何将我的公式转换为表达式。

我的问题是,一旦我使用SubmitChanges()创建行,除了我的对象中的计算列之外,每个属性都会更新。我需要用于另一项任务。

该公式使用标量sql函数来计算它,在其中计算来自另一个表的值的总和。我可以转换它还是我必须创建我自己的未映射属性,为我计算它或刷新我的datacontext来获取值?

1 个答案:

答案 0 :(得分:2)

通过使用Expression属性,您可以轻松映射计算列,例如......

[Table(Name = "Orders")]
class Order
{
     [Column(Storage="Price", DbType="Money",Expression="UnitPrice + 1.00")]
     public decimal Price{ get; set }

     [Column(Storage="Qty", DbType="Int"]
     public int Quantity { get; set; }

     [Column(Storage="Total", DbType="Money",Expression="Price * Quantity")]
     public decimal Total { get; set; }
}