代码之家  ›  专栏  ›  技术社区  ›  Giovanni Galbo

如何跳过Linq To SQL中插入/更新时的默认值列?

  •  4
  • Giovanni Galbo  · 技术社区  · 17 年前

    如何使用默认值通过Linq To SQL和Linq To SQL插入/更新列?我特别关注时间戳字段。

    3 回复  |  直到 17 年前
        1
  •  5
  •   tvanfosson    17 年前

    您需要为时间戳列设置IsVersion=true。有关详细信息,请参阅参考资料 ColumnAttribute .

    在我的时间戳列的DBML设计器中,属性设置为

    AutoGenerated=true
    AutoSync=Always
    Nullable, Primary Key, and ReadOnly = false
    SQLDataType = rowversion not null
    Timestamp = true
    UpdateCheck = never
    

    我假设你指的是时间戳,而不是日期时间。如果是后者,请忽略这一点。

        2
  •  2
  •   James Curran    17 年前

    或者,您可以向DataContext类添加分部方法。在项目中添加新文件:

    public partial class YourDatabaseDataContext
    {
        partial void InsertYourTable(YourTable instance)
        {
            instance.LastUpdateTime = DateTime.Now;
    
            this.ExecuteDynamicInsert(instance);
        }
    
        partial void UpdateYourTable(YourTable instance)
        {
            instance.LastUpdateTime = DateTime.Now;
    
            this.ExecuteDynamicUpdate(instance);
        }
    
        3
  •  1
  •   Sam    17 年前

    自动同步 总是