使用 Linq To Sql 在插入操作中使用 SQL GETDATE()

3

假设我有以下表格:

create table T (
    ID int not null primary key,
    Name varchar(10) not null,
    CreatedAt datetime not null default GETDATE(),
    UpdatedAt datetime not null default GETDATE()
)

我想使用 Linq 2 Sql,并生成具有 CreatedAt 和 UpdatedAt 属性的类型安全类,这两个属性都是非空的。现在我想插入一个新条目,并希望它们都由 Sql Server 中的值填充,而不是使用可能不同的 DateTime.Now 值。是否有一种方法可以在不使属性可空的情况下将 null 发送到 Sql Server?同时,我不想遵循 this solution,因为它需要额外的网络请求。使用传统的 SQL 非常容易——只需在插入语句中省略 CreatedAt/UpdatedAt 列即可,但是在 Linq 2 Sql 中有哪些选项?

一旦您解决了插入问题,当您希望在每次更新时将 UpdatedAt 设置为 GETDATE() 时,您很可能会遇到困难。 - Damien_The_Unbeliever
你是对的。可能的解决方案可以完全忽略从客户端发送的值并使用触发器。 - UserControl
这里的被接受答案可能对你来说是一个合适的解决方法。 - Stephen Kennedy
不,它只适用于选择查询。我尝试过了,发现对于插入操作,它会生成额外的服务器请求。 - UserControl
1个回答

1

哇!我要试一试(需要找出如何自动化这个过程) - UserControl

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接