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]
既然我在脚手架输出中有了这一列,我在尝试添加对象时遇到了这个错误
Cannot insert the value NULL into column 'AuditApp'
有没有办法让我绕过这个,让它不通过呢?还是我必须采用手动域方法:/?
...
public string AuditApp { get; set; }
...
我经常想要 运行 脚手架工具,所以需要一个解决方案,这并不意味着我必须更改自动生成的代码。
请快速满足您的要求并保证不会因此错误而破坏您的应用程序,请在 属性 AuditApp
尝试添加默认值,如下所示:
...
public string AuditApp { get; set; } = string.Empty;
...
我已经使用以下命令创建了我的域,它工作正常
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]
既然我在脚手架输出中有了这一列,我在尝试添加对象时遇到了这个错误
Cannot insert the value NULL into column 'AuditApp'
有没有办法让我绕过这个,让它不通过呢?还是我必须采用手动域方法:/?
...
public string AuditApp { get; set; }
...
我经常想要 运行 脚手架工具,所以需要一个解决方案,这并不意味着我必须更改自动生成的代码。
请快速满足您的要求并保证不会因此错误而破坏您的应用程序,请在 属性 AuditApp
尝试添加默认值,如下所示:
...
public string AuditApp { get; set; } = string.Empty;
...