由于Web的无状态问题,在创建ASP.NET Web Forms站点时避免使用Entity Framework更好吗?ViewState 和 Session 不支持像 DBContext 这样的不可序列化的类,这使得使用实体框架相当尴尬。
EF 是否更适合 ASP.NET MVC,因为它不依赖于 ViewState 和 Session?
由于Web的无状态问题,在创建ASP.NET Web Forms站点时避免使用Entity Framework更好吗?ViewState 和 Session 不支持像 DBContext 这样的不可序列化的类,这使得使用实体框架相当尴尬。
EF 是否更适合 ASP.NET MVC,因为它不依赖于 ViewState 和 Session?
我会说这两者没有任何关系。
实体框架为在数据库中持久化信息创建了一个抽象。在 Web 应用程序中,其状态在 HTTP 请求期间存在,并且在响应结束时保留任何待处理的更改。EF 不需要在回发之间存储状态信息,因此视图状态和会话状态是不相关的。确实,数据库连接可以在请求之间保持打开状态,但是这是由连接池或驱动程序管理的。
ASP.NET MVC 不依赖 ViewState,但默认情况下它仍然是无状态的。无论如何,EF 应该与 ASP.NET 和 ASP.NET MVC 一起使用,但您必须为每个处理的请求使用一个新的上下文实例。任何在请求中“存储”上下文的努力都是灾难的唯一途径。