【问题标题】:Is it possible to create a readonly property using Linq to SQL是否可以使用 Linq to SQL 创建只读属性
【发布时间】:2012-03-12 15:18:54
【问题描述】:

我正在使用一个数据库,在某些表中存在由触发器存储的值。在这种情况下,一个“lastModifiedDate”和一个“createdDate”字段。 “lastModifiedDate”字段由触发器更新。使用 getdate() 命令使用默认值填充“createdDate”字段。

现在在我的程序中,我不想考虑这些字段的值。只想阅读并显示它们。在所有其他情况下,该值可能保持为空。仅当发生更新错误时,因为 Linq 想要在未设置日期的情况下更新此字段。

是否可以在阻止 linq 更新指定列的同时使用 linq。

【问题讨论】:

    标签: c# linq-to-sql


    【解决方案1】:

    Frequently Asked Questions (LINQ to SQL)的回答:

    避免在插入或更新时显式设置数据库生成的值

    Q. 我有一个数据库表,其中有一个 DateCreated 列,默认为 SQL 获取日期()。当我尝试使用 LINQ to SQL 插入新记录时, 该值被设置为 NULL。我希望它被设置为 数据库默认值。

    A. LINQ to SQL 自动处理这种情况以获得身份 (自动增量)和 rowguidcol(数据库生成的 GUID)和 时间戳列。在其他情况下,您应该手动设置 IsDbGenerated=trueAutoSync=Always/OnInsert/OnUpdate 属性。

    此外,我建议通过将其 IsReadOnly 标志更改为 true 来消除属性中的 setter。

    【讨论】:

      【解决方案2】:

      将属性的 IsDbGenerated 属性设置为 true...

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-28
        • 1970-01-01
        • 2012-01-01
        • 2011-02-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多