c# - 使用 Entity Framework Core 迁移更新表以添加 Auto_Increment
问题描述
我有一个带有一些表的 ASP.Net Core 项目,已经与 EF Core 链接。我在创建数据库时犯了一个错误,忘记在 PK 上添加自动增量,所以当我尝试添加一些数据时,我不能,因为 EF 试图插入一个空值。我试过用一张表手动修改自动增量为1,没关系。
但是我在多台计算机上工作,所以我的问题是:我可以创建一个迁移文件来更新我的其他表并在他们的 PK 上添加 auto_increment 吗?
谢谢
解决方案
您可以.UseSqlServerIdentityColumn()
通过 Fluent API 使用,然后添加迁移。
虽然如果不提供当前配置代码就很难进行演示,但这里有一个示例,它可能看起来像这样:
public class BaseEntityTypeConfiguration<TEntity> : IEntityTypeConfiguration<TEntity> where TEntity : BaseEntity
{
public virtual void Configure(EntityTypeBuilder<TEntity> entityTypeBuilder)
{
entityTypeBuilder.Property(x => x.Id)
.UseSqlServerIdentityColumn();
}
}
推荐阅读
- c# - C#中ToString()、Convert.Tostring()和(string)变量的区别
- python-2.7 - chrome 浏览器未使用机器人框架打开
- android - 如何使用 Firebase 动态链接在 android 中获取短 URL 链接?
- android - 如何使用 lint.xml 或 gradle 脚本忽略 Android lint 中的拼写检查?
- database - isnull(table_name) 的计数为 0,但该表中的许多行没有值。如何获得正确的计数?
- javascript - 如何在不使用 PHP 中的 cookie 或 JS 的情况下将数据发送到另一个页面?
- node.js - 如何导出在 .then() 函数中声明的变量
- php - 如何在流明中对表过滤器功能进行单元测试
- c# - 如何确保返回是一个数组?
- c# - 根据字符串输入查询列表