如何解决C#实体框架:插入子实体并更新父实体,一次事务
如何在Entity Framework中添加新的子记录并更新ParentId
参考键?
我们有一个Employee
和一个ProductSales
表。
Employee
表包含最近的ProductSaleId
列。
如果我向ProductSale
添加新条目,它将在SQL Server数据库中获得一个新的标识列。
lastProductSale = new ProductSale { Product = "Furniture",Amount= 1000,EmployeeId = 5};
_dbContext.Add(productSale);
_dbContext.SaveChanges();
int lastProductSaleId = lastProductSale.productSaleId;
现在像这样更新Employee
表参考键:
employee.ProductSaleId = lastProductSaleId;
_dbContext.SaveChanges();
我们知道EmployeeId
是5。但是,这需要两次保存操作中的两次事务。
我希望这可以一次完成。如何完成?
使用EF Core 3.1, 实体被外键架住
资源:
How can I retrieve Id of inserted entity using Entity framework?
解决方法
已设置实体框架自动支架。
所以下面的工作,
不用使用employee.ProductSaleId
,只需使用ProductSale
,然后直接更新父项即可。
productSale = new ProductSale { Product = "Furniture",Amount= 1000,EmployeeId = 5};
employee.ProductSale = productSale;
_dbContext.SaveChanges();
Entity Framework Core将自动通过插入或更新进行调整
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。