【发布时间】:2010-08-15 05:21:58
【问题描述】:
我正在使用 ASP.NET MVC 和实体框架开发一个中型 ASP.NET 项目。我通过设置 3 个 Visual Studio 项目并相应地引用它们开发了一个 3 层系统:
- Presentation -- 这是我的 MVC 项目,包含所有视图和控制器。我将模型文件夹从该项目中完全删除,因为我将其移至 BO 项目(见下文)
- Business Objects (BO) -- 该项目包含应用程序的“肉”,是应用程序的真正核心所在。在这里,定义的对象代表我试图在代码中建模的事物(用户、设施、约会等)。
- 数据访问 (DA) - 到目前为止,这个项目都是实体框架。
我遇到的“问题”是我在 BO 中进行了大量手动的一对一映射。例如,当调用 User.load() 时,我从 EF 加载用户,然后将 EF 结果中的一些参数(名字、姓氏、用户名、活动等)映射到对象上的参数。
我认为这有好有坏。很好:它将 EF 与项目断开连接,因此如果我需要使用另一个数据存储,我不仅仅与 EF 相关联。不好:这需要更多时间,因为我必须设置每个参数并通过实现我自己的更改跟踪在 Add()、Update() 等上仔细处理它们。
您如何看待这种方法?
【问题讨论】:
标签: asp.net-mvc entity-framework n-tier-architecture