0

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

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

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

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

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

这里的正确方法是什么?

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

4

1 回答 1

1

我认为你在这里遗漏了一些东西。域对象(用户、任务等)以及持久保存它们的方式和位置(在本例中为访问数据库)是两件不同的事情。

因为,正如您所说,您正在开发一个基于 N 层的“灵活”架构,我建议您专注于设计您的领域对象,而不关心它们将如何在您的 DB 上表示(可能是一对多关系)。

在这种情况下,您的User类将具有一个属性,该属性将表示Tasks.

于 2013-02-22T10:56:58.370 回答