C# 插入多个表会导致实体框架中的ID为空
C#,实体框架,MSSQL 表定义如下: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上 如果使用
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();