首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >领域模型多到多关系的视图模型设计

领域模型多到多关系的视图模型设计
EN

Stack Overflow用户
提问于 2013-12-16 09:22:25
回答 1查看 320关注 0票数 1

一个我需要帮助的设计问题。最好用一个例子来描述。使用下列领域模型:-学生-注册-课程

其中,学生和课程之间有许多相互关系,通过注册表实现,即注册具有StudentID (FK)和CourseID (FK)。“学生”类和“课程”类都具有一个导航属性,即另一个类的ICollection。

我使用视图模型,并希望简单的CRUD功能,添加,编辑,删除学生和课程。视图模型与它们关联的域模型非常相似。

显示学生的细节是足够简单的,但当涉及到显示学生的课程细节时,以下哪一种设计将是最好的方法?

  1. 在“学生视图”模型中,声明“注册域模型”的ICollection?然后在视图中可以访问注册详细信息。我觉得这就像取消了视图模型试图实现的那样,那就是从域模型中获得一个抽象层。使用此设计,可以通过“学生视图模型”从“视图”访问注册域模型。
  2. 为注册类创建视图模型。这将与它的域模型相同。不会做任何其他保存来自视图模型的域模型值的操作。必须通过AutoMapper映射。不知道该怎么做,觉得效率很低。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-16 09:45:43

首先,Enrollment不应该是一个域模型。Enrollment只是一个数据库表,它指定了从StudentCourse的多到多关系。

我的建议是在List域模型中创建CourseStudent,并使用NHibernateFluent NHibernate映射StudentCourse,然后从映射中创建多到多的关系,您只需从Student实例中检索Course

此外,在使用映射时,您可以更自由地使用级联操作,而不是在代码中编写一些SQL语句。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20607225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档