无论对错,我都在使用唯一标识符作为我的 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/