添加实体时出现EntityFramework 7错误
本文关键字:EntityFramework 错误 实体 添加 | 更新日期: 2023-09-27 18:00:37
在尝试将新实体添加到实体框架数据上下文时,出现以下错误。
类型为"System"的异常。数据SqlClient。中发生SqlException系统Data.dll,但未在用户代码中处理
其他信息:对象名称"DefaultSequence"无效。
我不知道DefaultSequence是从哪里来的。当执行add方法时,我可以看到它查询SQL server,比如从DefaultSequence中选择下一个结果(我现在还没有,但执行的查询就是这样的
这是我用来添加实体的代码,错误发生在上。添加行:
public IActivityCode Create(ActivityCode item)
{
data.ActivityCode.Add(item);
data.SaveChanges();
return Get(item.Id);
}
这是DbContext 的代码
public class MyDbContext : DbContext
{
public DbSet<ActivityCode> ActivityCode { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(Startup.Configuration.Get("Data:DefaultConnection:ConnectionString"));
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<ActivityCode>().ForSqlServer((builder => builder.Table("ActivityCode", "Payments")));
base.OnModelCreating(modelBuilder);
}
}
我需要执行以下操作才能使其工作。Jurgen的评论很接近,但没有像发布的那样起作用,但如果你想作为答案发布,我也会接受。
modelBuilder.Entity<ActivityCode>().ForSqlServer(builder => builder.Table("ActivityCode", "Payments"));
modelBuilder.Entity<EquityActivity>().ForSqlServer(builder => builder.Table("EquityActivity", "Equity"));
modelBuilder.ForSqlServer().UseIdentity();