实体框架是连接架构还是断开连接的架构?

时间:2015-12-16 09:23:52

标签: asp.net-mvc entity-framework architecture

我想知道Entity Framework是否应该用于连接或断开连接的架构?

特别是,我想知道如何在分层架构中使用EF。例如,如何在ASP.NET代码中使用它?

注意:有关于此问题的请求是关于#34;主要是基于意见的"显然情况并非如此:EF可以非常特殊的方式用于两种类型的场景。这不是一个意见,而是一个明确的事实。没有人可以讨论,或同意或不同意。如果问题是关于如何实现断开连接的场景,那么它将变成基于意见的#34;,但不是现在所说的。

1 个答案:

答案 0 :(得分:1)

您可以在两种情况下使用EF。

在连接的方案中,您可以在对实体进行更改(添加,删除,更新,修改)时保留DbContext的实例,以便跟踪cahnges并自动将它们发送到数据库致电SaveChanges

在断开连接的方案中,例如网络应用程序,您负责跟踪更改。当您将数据返回到服务器时,您需要实例化一个新的DbContext,将实体附加到它,设置每个实体的状态(新的,删除的,修改的),并调用SaveChanges。有关详细信息,请阅读this

因此,EF支持这两种方案,但方式不同。