在N层应用程序中,我的网站连接到Web引用以访问业务层逻辑并获取业务层DTO。例如,BL可以提供汽车的定义:
public class Car() {
public string Make { get; set; }
public string Model { get; set; }
. . .
}
在我的ASP.NET MVC网站中,我需要创建自己的Car模型对象。 (可能是添加/删除字段或通过数据注释添加验证)。
因为我的命名空间中已经有一个名为Car的对象,所以我需要将我的模型对象命名为其他东西。但是对象确实没有更好的名称。有没有更简单的方法来处理这些名称冲突?或者,我可以完全限定模型,但这似乎并不理想。
另一种可能性,我可以使用BL中的对象,但是扩展它以便我可以添加数据注释以进行验证吗?
答案 0 :(得分:1)
我看到人们在MVC应用程序中处理这些类时只需将Model
附加到这些类中。在您的情况下,该课程将为CarModel
。
至于扩展对象,我不建议将业务层对象泄漏到表示层,因为如果数据发生更改,您将在以后遇到麻烦。您无需在数据的每个位置更改演示文稿代码,只需在从Car
到CarModel
的转换中进行更改即可。