是否可以在实体框架中不使用附加和分离?

时间:2014-05-19 13:22:31

标签: .net entity-framework

我总是使用附加和分离方法搞砸了。有可能不使用它们吗?

如果是,那么为什么人们通常不会使用这个概念?

我认为有一些选项可以覆盖SaveChanges()......

1 个答案:

答案 0 :(得分:2)

由于您使用上下文的方式,您必须附加/分离实体。如果您在上下文中使用上下文并操纵数据,则不必担心附加/分离。

using(var context = new DbContext())
{
     var item = context.GetItem();
     item.Name = "FooBar";
     context.SaveChange();
}

因此,如果您使用存储库模式或任何其他数据访问方法,您将更多地使用附加/分离,您将数据从DAL中提取出来并在业务层或前端中使用它。您也不必手动分离对象,一旦关闭连接,它就会成为一个分离的对象,在保存之前您只需重新连接到上下文。

这是我真正喜欢的存储库。它现在变得有点臃肿,但它可以让你快速处理数据。我喜欢他们对dbsets的“延迟加载”,我自己已经删除了ORM的抽象,因为我知道我想坚持使用Entity Framework。

博客解释回购: http://blog.longle.net/2013/05/11/genericizing-the-unit-of-work-pattern-repository-pattern-with-entity-framework-in-mvc/

实际回购网站: https://genericunitofworkandrepositories.codeplex.com

这是一个直接来自M $的资源,可以让您更好地了解如何/何时重新附加。

http://www.asp.net/mvc/tutorials/getting-started-with-ef-5-using-mvc-4/implementing-the-repository-and-unit-of-work-patterns-in-an-asp-net-mvc-application

以下是帮助直接处理不同案例以及如何附加实体的另一个链接。 http://msdn.microsoft.com/en-us/data/jj592676.aspx