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

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

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

既然我在脚手架输出中有了这一列,我在尝试添加对象时遇到了这个错误

Cannot insert the value NULL into column 'AuditApp'

有没有办法让我绕过这个,让它不通过呢?还是我必须采用手动域方法:/?

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

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

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

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