c# - 将 Sql Server uniqueidentifier/updated date 列与 Linq to Sql 结合使用 - 最佳方法

标签 c# sql-server linq-to-sql datetime uniqueidentifier

无论对错,我都在使用唯一标识符作为我的 sqlserver 数据库中表的主键。我已经使用 linq to sql (c#) 生成了一个模型,但是在 identity 列的情况下,linq to sql 在为 guid 插入新记录时生成了一个唯一键/uniqueidentifier 默认值为 00000000-0000-0000-0000-000000000000

我知道我可以在我的代码中设置 guid:在 linq to sql 模型或其他地方,或者在创建 sql server 表时有默认值(尽管这被代码中生成的值覆盖)。但是最好在哪里生成这个 key ,注意我的表总是会随着我的解决方案的发展而改变,因此我将在它发生时重新生成我的 Linq to Sql 模型。

相同的解决方案是否适用于一个列来保存当前的 datetime(插入的),每次更新都会更新?

最佳答案

如您在自己的帖子中所述,您可以使用可扩展性方法。添加到您的帖子中,您可以查看在数据上下文中创建的用于插入和更新每个表的部分方法。带有名为“test”的表和“changeDate”列的示例:

partial void InsertTest(Test instance)
{
    instance.idCol = System.Guid.NewGuid();
    this.ExecuteDynamicInsert(instance);
}

partial void UpdateTest(Test instance)
{
    instance.changeDate = DateTime.Now;
    this.ExecuteDynamicUpdate(instance);
}

关于c# - 将 Sql Server uniqueidentifier/updated date 列与 Linq to Sql 结合使用 - 最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/925034/

相关文章:

c# - 为 xaml 中的第一列启用 DataGrid 排序

c# - 如何找出所有可能抛出的异常(特别是 Entity Framework )

c# - 从列表转换为字典,foreach 语句有问题

sql - 允许较新的 SQL 语法优雅地回退到旧版本?

sql-server - 在 SQL Server 中插入 XML

linq-to-sql - 在 LINQ to SQL DataContext "Insert"部分方法中自动增加主键

c# - 如何初始化二维数组?

sql-server - 使用 SQL Server 查询删除日期早于 30 天的行

c# - 如何制作通用存储库?

c# - LINQ 到 SQL : InsertOnSubmit() vs Add()