Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# EF Core:包含值GeneratedAnd trows的列;无法为标识列插入显式值…“;_C#_Entity Framework_.net Core_Aws Lambda_Entity Framework Core - Fatal编程技术网

C# EF Core:包含值GeneratedAnd trows的列;无法为标识列插入显式值…“;

C# EF Core:包含值GeneratedAnd trows的列;无法为标识列插入显式值…“;,c#,entity-framework,.net-core,aws-lambda,entity-framework-core,C#,Entity Framework,.net Core,Aws Lambda,Entity Framework Core,我有一个ASP.NET MVC 5应用程序,它使用实体框架6.2。此应用程序在MS SQL server中创建一些记录 我必须在AWS lambda函数中处理这些记录。为此,我创建了c#.NET Core v2.0 lambda函数。在那里,我从现有数据库生成模型,如下一篇文章所述- 生成的模型如下所示: public partial class Request { public int EntityId { get; set; } public Result Result

我有一个ASP.NET MVC 5应用程序,它使用实体框架6.2。此应用程序在MS SQL server中创建一些记录

我必须在AWS lambda函数中处理这些记录。为此,我创建了c#.NET Core v2.0 lambda函数。在那里,我从现有数据库生成模型,如下一篇文章所述-

生成的模型如下所示:

public partial class Request
{
    public int EntityId { get; set; }   
    public Result Result { get; set; }
}
public partial class Result
{
    public int EntityId { get; set; }
    public Request Entity { get; set; }
}
在模型创建时:

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
    modelBuilder.Entity<Request>(entity =>
    {
        entity.HasKey(e => e.EntityId);
        entity.ToTable("Request", "mySchema");
    });

    modelBuilder.Entity<Result>(entity =>
    {
        entity.HasKey(e => e.EntityId);
        entity.ToTable("Result", "mySchema");
        entity.HasIndex(e => e.EntityId).HasName("IX_EntityId");
        entity.Property(e => e.EntityId).ValueGeneratedOnAdd();
        entity.HasOne(d => d.Entity)
            .WithOne(p => p.Result)
            .HasForeignKey<Result>(d => d.EntityId)
            .OnDelete(DeleteBehavior.ClientSetNull)
            .HasConstraintName("FK_mySchema.Result_mySchema.Request_EntityId");
    });
}
在保存操作中,我得到了异常:

当identity\U insert设置为OFF时,无法在表“结果”中为identity列插入显式值

我检查了解决这个问题的不同方法。但是在模型创建方法中已经设置了
ValueGeneratedOnAdd
函数

另外,我尝试将
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
添加到Result.EntityId中,但没有成功


我在实现中遗漏了什么?

您正在尝试使用没有值的new Result()初始化request.Result。这可能会导致此错误。

您能否显示您试图映射的现有
请求表?PK和FK配置有问题,但不能确切地说没有看到表列和约束。对不起,我的意思是
Result
table。嘿,RredCat,在哪里可以解决这个问题?我有一样的…@Borbea,是的。但我不再在这家公司工作了,我也无法获得源代码和解决方案。我记得,这是一个非常简单的解决方案。@rredCat我使用ValueGeneratedOnAddOrUpdate解决了我的问题,因为我在更新记录时收到了上述错误。无论如何谢谢你!我不认为这是个问题。我试着设置“实体”,但没用。EntityId应该是自动生成的。
using (var db = new DataContext(connection))
{
    var request = db.Request.First();    
    request.Result = new Result();
    db.SaveChanges();
}