gpt4 book ai didi

C# ADO.NET 使用默认值插入新行

转载 作者:行者123 更新时间:2023-11-30 22:40:59 25 4
gpt4 key购买 nike

我的数据库里有这张表

表格项目
ProjectId (int)、ProjectName (varchar(50))、ProjectCreationDate(datetime2(7))

ProjectId就是身份
ProjectName 允许非空且无默认值
ProjectCreationDate 具有默认绑定(bind) (sysdatetime())

我创建了一个 ADO.NET EDM 并尝试插入到表中


using (ProjectEntities context = new ProjectEntities()){
Project p = Project{
ProjectName = "ADO"
};

context.Projects.AddObject(p);
context.SaveChanges();
}

问题是 ProjectCreationDate 列填充了 0001-01-01 00:00:00.0000000 而我期望当前时间将由数据库本身填充。

我的数据库中还有其他表具有默认值绑定(bind),稍后将更改该值。所以设置 StoreGeneratedPattern = "computed" 不是我正在寻找的解决方案。

有什么想法吗?

最佳答案

这可能不是您想听到的,但解决方案之一是在构造函数中定义默认值:

public partial class Project
{
public Project()
{
ProjectCreationDate = DateTime.Now;
}
}

关于C# ADO.NET 使用默认值插入新行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4975498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com