繁体   English   中英

C#,EF Core 和 Scaffold-DbContext,如何不为数据库中的默认值列传递 null?

[英]C#, EF Core and Scaffold-DbContext, How to not passing null for a default valued column in the database?

我使用以下命令创建了我的域并且它工作正常

Scaffold-DbContext -Connection name=MyConnectionStringName -Provider Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Force -Project My.Domain -StartupProject My.Api

我正在从创建域的手动过程中迁移一些代码,原来没有定义数据库中默认的AuditApp列到连接字符串中的App=MyApi 这是数据库中定义的默认约束:

ALTER TABLE [dbo].[PriceGroups] ADD  CONSTRAINT [DF_PriceGroups_AuditApp]  DEFAULT (rtrim(isnull(app_name(),''))) FOR [AuditApp]

现在我在脚手架 output 中有了这个列,当我尝试添加 object 时出现此错误

Cannot insert the value NULL into column 'AuditApp'

有没有办法让我绕过它,让它不通过呢? 还是我将不得不进行手动域方法:/?

...
public string AuditApp { get; set; }
...

我会想要经常运行脚手架工具,所以需要一个不意味着我必须更改自动生成的代码的解决方案。

请快速满足您的要求并保证不会因此错误而破坏您的应用程序,在属性AuditApp中,尝试添加一个默认值,如下所示:

...
public string AuditApp { get; set; } = string.Empty;
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM