更新外键关系是常见的数据操作,例如 添加一个"员工",并设置其"类别"外键,如下两种使用EF的代码哪个更简洁且高效?
方法1:
Product p = new Product {
Name = “Bovril”,
Category = ctx.Categories.First(c => c.ID == 5)
};
ctx.AddToProducts(p);
ctx.SaveChanges();
方法2:
Category category = new Category { ID = 5};
ctx.AttachTo(“Categories”,category);
Product product = new Product {
Name = “Bovril”,
Category = category
};
ctx.AddToProducts(product);
ctx.SaveChanges();
方法2使用的category对象是一个stub entity,使用它比方法1节省了一次查询操作,效率自然要好!
同样使用stub entity可以进行Delete,Update等操作 - 详细: MSDN Meta-Me blog Tip 26
本文探讨了在Entity Framework中使用Stub Entity来提高数据操作效率的方法。通过对比两种添加带有外键关系实体的方式,展示了如何利用已知的外键ID创建Stub Entity来减少不必要的数据库查询,从而提升应用性能。

被折叠的 条评论
为什么被折叠?



