猿问
如果存在使用实体框架的其他插入逻辑,则更新行
是否有人对使用实体框架实现“如果存在更新行,否则插入行”逻辑的最有效方式提出建议?
拉风的咖菲猫
浏览 347
回答 3
3回答
ABOUTYOU
调用时会发生魔术,SaveChanges()并取决于电流EntityState。如果实体具有EntityState.Added,则将其添加到数据库中;如果实体具有,则将在数据库中EntityState.Modified对其进行更新。因此,您可以实现以下InsertOrUpdate()方法:public void InsertOrUpdate(Blog blog) { using (var context = new BloggingContext()) { context.Entry(blog).State = blog.BlogId == 0 ? EntityState.Added : EntityState.Modified; context.SaveChanges(); } }有关EntityState的更多信息如果您无法检查Id = 0以确定它是否是新实体,请检查Ladislav Mrnka的答案。
0
0
0
随时随地看视频
慕课网APP
相关分类
C#
typedef入门问题
1 回答
我要回答