尝试将新实体添加到Entity Framework数据上下文时,我收到以下错误。
发生了'System.Data.SqlClient.SqlException'类型的异常 System.Data.dll但未在用户代码中处理
其他信息:无效的对象名称'DefaultSequence'。
我不知道DefaultSequence来自哪里。当执行add方法时,我可以看到它查询SQL服务器类似于从DefaultSequence中选择下一个结果(我现在没有在我面前,但类似的是执行的查询。
以下是我用于添加实体的代码,错误发生在.Add行:
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);
}
}
答案 0 :(得分:0)
我需要执行以下操作才能使其正常工作。评论Jurgen很接近,但没有发布,但如果你想发布答案我也会接受这个答案。
modelBuilder.Entity<ActivityCode>().ForSqlServer(builder => builder.Table("ActivityCode", "Payments"));
modelBuilder.Entity<EquityActivity>().ForSqlServer(builder => builder.Table("EquityActivity", "Equity"));
modelBuilder.ForSqlServer().UseIdentity();