C# 插入多个表会导致实体框架中的ID为空

C# 插入多个表会导致实体框架中的ID为空,c#,entity-framework,C#,Entity Framework,C#,实体框架,MSSQL 表定义如下: id uniqueidentifier (not null, PK, default (newid()) ) createdAt datetimeoffset(3) updatedAt datetimeoffset(3) version timestamp deleted bit Image image 我确实在两个表之间分配了多对一关系。在tblArea.fkImages->tblImages.id上 如果使用

C#,实体框架,MSSQL

表定义如下:

id  uniqueidentifier (not null, PK, default (newid()) )
createdAt   datetimeoffset(3)   
updatedAt   datetimeoffset(3)   
version timestamp   
deleted bit 
Image   image   
我确实在两个表之间分配了多对一关系。在tblArea.fkImages->tblImages.id上

如果使用此查询插入一条记录,则newid()似乎起作用,并分配一个随机唯一标识符

insert into tblimages (image) values (null)
但是,如果我使用以下C代码:

在tblArea和tblImages中,两条记录的ID都是0,这将阻止对两个表进行任何后续添加(pk上的约束)


有人知道为什么会发生这种情况吗?

您是先使用代码吗?您可能希望查看属性
[DatabaseGenerated(…)]
?或者可能是因为不,我没有那样做。。。。它都是在数据库中定义的,然后拉到我的应用程序中。
        Guid gRestID = Guid.Parse(tbxSelectedLoc.Text);

        tblImages newImage;

        tblArea newArea = new tblArea
        {
            Name = tbxAddMenu.Text,
            fkLoc = gRestID,
        };

        if (pbxLoc.Image != null)
        {
            newImage = new tblImages
            {
                Image = Helpers.ImageToByte(pbxLoc.Image),
            };
            db.tblImages.Add(newImage);
            newArea.tblImages = newImage;
        }


        db.tblArea.Add(newArea);
        db.SaveChanges();