添加实体时出现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);
    }
}

添加实体时出现EntityFramework 7错误

我需要执行以下操作才能使其工作。Jurgen的评论很接近,但没有像发布的那样起作用,但如果你想作为答案发布,我也会接受。

    modelBuilder.Entity<ActivityCode>().ForSqlServer(builder => builder.Table("ActivityCode", "Payments"));
    modelBuilder.Entity<EquityActivity>().ForSqlServer(builder => builder.Table("EquityActivity", "Equity"));
    modelBuilder.ForSqlServer().UseIdentity();