C# EntityFramework 7添加实体时出错

C# EntityFramework 7添加实体时出错,c#,entity-framework,C#,Entity Framework,在尝试将新实体添加到实体框架数据上下文时,我遇到以下错误 中发生类型为“System.Data.SqlClient.SqlException”的异常 System.Data.dll,但未在用户代码中处理 其他信息:无效的对象名称“DefaultSequence” 我不知道DefaultSequence是从哪里来的。当add方法被执行时,我可以看到它查询SQL server,类似于从DefaultSequence中选择下一个结果(我现在没有这个,但类似的东西就是执行的查询) 下面是我用来添加实体的

在尝试将新实体添加到实体框架数据上下文时,我遇到以下错误

中发生类型为“System.Data.SqlClient.SqlException”的异常 System.Data.dll,但未在用户代码中处理

其他信息:无效的对象名称“DefaultSequence”

我不知道DefaultSequence是从哪里来的。当add方法被执行时,我可以看到它查询SQL server,类似于从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);
    }
}
公共类MyDbContext:DbContext
{
公共数据库集活动代码{get;set;}
配置时受保护的覆盖无效(DBContextOptions Builder Options Builder)
{
optionsBuilder.UseSqlServer(Startup.Configuration.Get(“数据:DefaultConnection:ConnectionString”);
}
模型创建时受保护的覆盖无效(ModelBuilder ModelBuilder)
{
modelBuilder.Entity().ForSqlServer((builder=>builder.Table(“ActivityCode”、“Payments”));
基于模型创建(modelBuilder);
}
}

我需要执行以下操作才能使其生效。Jurgen的评论很接近,但没有按发布的方式生效,但如果您想发布为答案,我也会接受作为答案

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

我需要执行以下操作才能使其生效。Jurgen的评论很接近,但没有按发布的方式生效,但如果您想发布为答案,我也会接受作为答案

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

您使用的是哪个版本的SQL Server?我正在运行SQL Server 11.0.2100的本地版本。您是否可以尝试更改
modelBuilder.Entity().ForSqlServer((builder=>builder.Table(“ActivityCode”,“Payments”);
modelBuilder.Entity().ForSqlServer((builder=>builder.Table(“ActivityCode”,“Payments”))).UseIdentity()
?如果删除了SQL Server的
行,它是否仍然出错?当我尝试在末尾添加UseIdentity时,该方法不存在。您使用的是SQL Server的哪个版本?我看到了,我正在运行SQL Server 11.0.2100的本地版本。您是否可以尝试更改
modelBuilder.Entity().ForSQL Server((builder=>builder.Table(“ActivityCode”)的,“Payments”));
modelBuilder.Entity().ForSqlServer((builder=>builder.Table(“ActivityCode”,“Payments”))))).UseIdentity();
?如果删除
ForSqlServer
行,它是否仍然出错?当我尝试在末尾添加UseIdentity时,该方法不存在。