1

在 N 层应用程序中,我的网站连接到 Web 引用以访问业务层逻辑并获取业务层 DTO。例如,BL 可能会为 Car 提供定义:

public class Car() {
    public string Make { get; set; }
    public string Model { get; set; }
    . . .
}

在我的 ASP.NET MVC 网站中,我需要创建自己的汽车模型对象。(可能添加/删除字段或通过数据注释添加验证)。

由于我的命名空间中已经有一个名为 Car 的对象,因此我需要将模型对象命名为其他名称。不过,该对象确实没有更好的名称。有没有更简单的方法来处理这些名称冲突?或者,我可以完全限定模型,但这似乎并不理想。

另一种可能性,我可以使用 BL 中的对象,但是扩展它以便我可以添加数据注释以进行验证?

4

1 回答 1

1

我见过人们Model在他们的 MVC 应用程序中处理这些类时只是简单地附加到这些类。在您的情况下,课程将是CarModel.

至于扩展对象,我不建议将业务层对象泄漏到表示层,因为如果数据发生变化,你以后会遇到麻烦。Car不必在使用数据的每个地方都更改表示代码,只需在从到的转换中更改它会更容易CarModel

于 2012-10-25T03:50:34.313 回答