我总是使用附加和分离方法搞砸了。有可能不使用它们吗?
如果是,那么为什么人们通常不会使用这个概念?
我认为有一些选项可以覆盖SaveChanges()......
答案 0 :(得分:2)
由于您使用上下文的方式,您必须附加/分离实体。如果您在上下文中使用上下文并操纵数据,则不必担心附加/分离。
using(var context = new DbContext())
{
var item = context.GetItem();
item.Name = "FooBar";
context.SaveChange();
}
因此,如果您使用存储库模式或任何其他数据访问方法,您将更多地使用附加/分离,您将数据从DAL中提取出来并在业务层或前端中使用它。您也不必手动分离对象,一旦关闭连接,它就会成为一个分离的对象,在保存之前您只需重新连接到上下文。
这是我真正喜欢的存储库。它现在变得有点臃肿,但它可以让你快速处理数据。我喜欢他们对dbsets的“延迟加载”,我自己已经删除了ORM的抽象,因为我知道我想坚持使用Entity Framework。
实际回购网站: https://genericunitofworkandrepositories.codeplex.com
这是一个直接来自M $的资源,可以让您更好地了解如何/何时重新附加。
以下是帮助直接处理不同案例以及如何附加实体的另一个链接。 http://msdn.microsoft.com/en-us/data/jj592676.aspx