实体框架和网络无国籍问题

时间:2013-01-11 18:07:04

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

由于Web的无状态问题,在创建ASP.NET Web Forms网站时避免使用Entity Framework会更好吗? ViewState和Session不支持像DBContext这样的非可序列化类,这使得使用Entity Framework变得相当尴尬。

EF是否更适合ASP.NET MVC,因为它不依赖于ViewState和Session?

2 个答案:

答案 0 :(得分:3)

我会说两者无关。

实体框架为数据库中的持久化信息创建抽象。在Web应用程序中,其状态在HTTP请求期间存在,并且任何挂起的更改在响应结束时保持不变。 EF不需要在回发之间存储状态信息,因此视图状态和会话状态是无关紧要的。确实,数据库连接可以在请求之间保持打开,但是由连接池或驱动程序管理。

答案 1 :(得分:0)

ASP.NET MVC不依赖于ViewState,但它仍然是默认的无状态。无论如何,EF应该与ASP.NET和ASP.NET MVC一起使用,但您必须为每个已处理的请求使用新的上下文实例。任何在请求之间“存储”上下文的努力都只是灾难的方法。