【发布时间】:2018-01-18 04:53:18
【问题描述】:
我是领域驱动设计的新手,并尝试在我的项目中学习和实施。到目前为止,我的项目结构与此类似。
维护文件夹
Maintainance.Data(Class 库)
Maintainance.Domain(类库)
Maintenance.Domin.Tests(测试项目)MovieBooking 文件夹
MovieBooking.Data(Class 库)
MovieBooking.Domain(类库)
MovieBooking.Domain.Tests(测试项目)SharedKernel
常见的东西Web 应用程序
MovieBooking MVC Web 应用程序(参考MovieBooking域)
在Maintainance 有界上下文中,我在Maintainance DBContext 中保留所有CRUD、GetAll 类型的东西,例如电影、国家、类别、子类别实体。
现在在MovieBooking 数据层中,我还需要使用这些实体(主要用于显示名称或下拉填充视图,需要一种子集 - 不需要所有属性,只有少数属性,如 Id、名称)
我可以通过几种方式在电影预订限界上下文中访问此实体
通过网络服务 - 需要为电影、国家、类别、子类别等常见实体创建网络 API,并在网络项目中调用网络 API(以填充下拉菜单或从实体获取名称)
-
通过引用上下文(单独的 Dbcontext) - 需要配置 Dbset,然后将数据库视图(仅需要字段)映射到 Dbset 示例:
modelBuilder.Entity().ToTable(ViewName);
对于 (1),它可以是我的长期实施解决方案
(2) 我必须为每个需要表创建视图(只有几个属性),并且由于我有企业级应用程序,它将大大增加我在数据库中的视图数量。
还有其他方法可以实现吗?我在 DDD 中缺少什么要查找的内容?
【问题讨论】:
标签: entity-framework architecture domain-driven-design