Asp.net mvc 3 基于EF的普通LINQ方法

Asp.net mvc 3 基于EF的普通LINQ方法,asp.net-mvc-3,entity-framework-4,linq-to-entities,Asp.net Mvc 3,Entity Framework 4,Linq To Entities,所以这可能是一个愚蠢的问题,但我仍然不确定实体框架对象是如何工作的。我在MVC3应用程序中使用EF4,并且有两个控制器需要对其使用相同的LINQ查询。最好使用按引用获取db实体的静态方法,还是该方法应为其自身实体使用“使用”块(如中所示) 我认为using块会增加额外的开销,但我没有找到其他方法的例子。是否有合适的方法为EF访问创建“库”方法?在MVC应用程序中,ObjectContext应适用于请求。大多数DI容器都可以自动执行此操作。因此,您不希望在方法中使用using块。而是通过构造函数注

所以这可能是一个愚蠢的问题,但我仍然不确定实体框架对象是如何工作的。我在MVC3应用程序中使用EF4,并且有两个控制器需要对其使用相同的LINQ查询。最好使用按引用获取db实体的静态方法,还是该方法应为其自身实体使用“使用”块(如中所示)


我认为using块会增加额外的开销,但我没有找到其他方法的例子。是否有合适的方法为EF访问创建“库”方法?

在MVC应用程序中,
ObjectContext
应适用于请求。大多数DI容器都可以自动执行此操作。因此,您不希望在方法中使用
using
块。而是通过构造函数注入上下文或将其作为方法参数传递

谢谢您的解释,但是在这个例子中DI代表什么?依赖注入。示例容器有AutoFac、Structure Map和NInject。您也可以在global.asax.cs中自己完成。