【问题标题】:how to map a computed column in linq to sql classes如何将 linq 中的计算列映射到 sql 类
【发布时间】:2016-01-22 04:07:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# sql-server linq


    【解决方案1】:

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

    【讨论】:

    • 是否可以在表达式中放置方法,还是仅在放置属性+运算符时才有效?
    • 是的,当然。从 MSDN 检查此代码 sn-p...msdn.microsoft.com/en-us/library/…
    猜你喜欢
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多