2013-02-22 50 views
0

我正在构建一个ASP.NET MVC 4应用程序,并希望使其尽可能灵活。ASP.NET MVC数据实体设计

我创建了抽象数据库访问类并分离了它们的具体实现(SQL Server访问)。

这适用于ninject,它自动将正确的实现绑定到构造的控制器。

我现在正在解决的问题是,我的一个实体(用户实体)有多个相关的实体(任务实体)(1xn关系),所以我想创建一个属性在这个实体类,将返回一个收集用户的所有相关任务。

问题是,在实体中我没有办法找到数据库访问的正确实现。

这里的正确方法是什么?

我知道可以创建一个返回任务的方法,但是这个方法也必须有一个参数来表示具体的数据库实现。

回答

1

我想你在这里错过了一些东西。域对象(用户,任务等)以及如何以及在哪里坚持他们(在这种情况下访问数据库)是两件不同的事情。因为,正如你所说,你正在开发一个基于N层的“灵活”架构,我建议你专注于设计你的域对象,而不关心它们将如何表现在你的DB上(可能是一个一对多的关系)。

在这种情况下,您的User类将有一个属性,它将代表Tasks的列表。