如何将 LINQ 中的计算列映射到 SQL 类

本文关键字:映射 SQL 计算 LINQ | 更新日期: 2023-09-27 18:31:20

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

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

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

如何将 LINQ 中的计算列映射到 SQL 类

通过使用 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; }
}