问候, 试图通过提供进入我的实体管理器的最佳方式进行排序,同时保持开放的背景下通过请求允许后期加载。我看到了很多类似下面的例子:访问实体管理器在ASP .NET MVC
public class SomeController
{
MyEntities entities = new MyEntities();
}
我与此设置中看到的问题是,如果你有,你想拨打电话到商业类的一层,你最终不得不通过经理作为参数传递给这些方法,就像这样:
public static GetEntity(MyEntities entityManager, int id)
{
return entityManager.Series.FirstOrDefault(s => s.SeriesId == id);
}
很显然,我正在寻找一个良好的,线程安全的方式,为客户提供了EntityManager的方法没有传递给它。这种方式也需要单元测试,我之前尝试将它放入Session中并不适用于单元测试。
我实际上是寻找与实体框架的ASP .NET MVC处理针对企业级应用的推荐方式。
在此先感谢
我不知道的人,这似乎是一个可怕的很多重复的代码,特别是如果你有管理员和匿名的部分。我觉得更好的把Get *代码集中到一个中心位置,因为我需要改变我把它带回来的方式。如果您只在一个地方完成聚合逻辑,我同意您的意见 – xximjasonxx 2009-05-29 14:11:55
使用自动映射器(http://www.codeplex.com/AutoMapper)将您需要的域的各个部分映射到您发送的DTO中的属性到视图。 – yfeldblum 2009-05-29 23:07:35