我想知道Entity Framework是否应该用于连接或断开连接的架构?
特别是,我想知道如何在分层架构中使用EF。例如,如何在ASP.NET代码中使用它?
注意:有关于此问题的请求是关于#34;主要是基于意见的"显然情况并非如此:EF可以非常特殊的方式用于两种类型的场景。这不是一个意见,而是一个明确的事实。没有人可以讨论,或同意或不同意。如果问题是关于如何实现断开连接的场景,那么它将变成基于意见的#34;,但不是现在所说的。
答案 0 :(得分:1)
您可以在两种情况下使用EF。
在连接的方案中,您可以在对实体进行更改(添加,删除,更新,修改)时保留DbContext
的实例,以便跟踪cahnges并自动将它们发送到数据库致电SaveChanges
。
在断开连接的方案中,例如网络应用程序,您负责跟踪更改。当您将数据返回到服务器时,您需要实例化一个新的DbContext
,将实体附加到它,设置每个实体的状态(新的,删除的,修改的),并调用SaveChanges
。有关详细信息,请阅读this。
因此,EF支持这两种方案,但方式不同。