- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在开发一个首先使用实体框架代码的网络应用程序 (MVC),我正在尝试弄清楚如何对其建模。我当然可以将 15 个 bool 值添加到一个类(数据库中的位),但这似乎是一种可悲的方式。我目前有一个客户对象,其中包含下图中显示的政策对象。
我希望我的 View 看起来像上面的那样,目前没有计划添加第 6 个,但是构建模型以支持这种可能性很重要。
public class customer{
//some random properties like Id, Name, Owner, Etc.
//I could put 15 bools here for the policies in the image
//I could put a policy object here?
}
最佳答案
这是一个简单、自描述、可伸缩、规范化和可扩展的设计。您可以在不重新编译系统的情况下添加其他策略类型或患者类型。你没有说明你使用的是哪个数据库引擎,所以为了让它在大多数数据库平台上工作,我建议你使用 TPC .
患者只是一个人(又名一方)在系统中扮演的角色。您可以拥有其他角色,例如“医生”、“雇员”、“保单持有人”等,每个角色都有自己的数据。重要的是要注意角色是暂时的,这意味着一个角色可以被取消,而这个人在系统中扮演其他角色。
如果可以通过查看 Role 或 Party 的属性来确定“Existing”、“AgeIn”、“NewPatient”,则不需要 PatientType。我添加它是因为不清楚耐心的类型是如何定义的。您很可能只在 Patient 上拥有一个属性来定义它。
一方代表任何法律实体。各方之间的关系通常对企业很重要。因此,当“Sam”(一个人)来找“Doctor”(一个扮演角色的人)时,重要的是要知道她父亲 Bob(一个人)的“政策”会买单。因此,将 Person 映射到不同表中的原因。
PolicyType 定义了政策的真正类型。在您的情况下,您可能有 18 种不同的保单类型,例如 ExistingOriginalMediCare、AgeInOriginalMediCare 等等。这是您可以存储影响策略“规则”的数据的地方。例如,某些类型的保单仅适用于居住在加利福尼亚州的人。我工作的一个系统有数千种策略类型,每种策略类型都有数百种应用程序用来推断业务规则的属性。这允许企业创建新的策略类型和“规则”,而无需重新编译系统和依赖于它的所有内容。
但是,可以通过在保持相同功能的同时去除继承来简化它。这里我们假设除了“患者”之外没有其他“角色”,除了“人”之外没有其他“当事人”。
也就是说,这实际上取决于数据是否会被其他应用程序重用以及时态数据和关联的真实情况。随意适应。我在设计系统时经常引用这些书:
它们从根本上改变了我看待“数据”的方式。
关于c# - EF Code First - 如何建模?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10037365/
目前,我正在为网络开发类(class)做作业。 这些是说明:第一行和首字下沉样式Jakob 希望文章的第一行以小写大写字母显示。转到 First Line and Drop Cap Styles 部分
.first() 方法是在 jQuery 1.4 中添加的。 :first 选择器自 1.0 以来就已存在。 来自文档: :first The :first pseudo-class is equiv
我正在审查现有的 ASP.NET MVC (5.2.3) EF (6.1.3) 项目。 该项目使用 ASP.NET Identity,我检查了 web.config 中的 2 个连接字符串,一个用于
为什么人们使用 mid=first+(last-first)/2 而不是 (first+last)/2,在二进制搜索的情况下)两者有区别吗。如果有,请告诉我,因为我无法理解其中的区别。 最佳答案 如果
为什么人们使用 mid=first+(last-first)/2 而不是 (first+last)/2,在二进制搜索的情况下)两者有区别吗。如果有,请告诉我,因为我无法理解其中的区别。 最佳答案 如果
for(auto it = M.begin(); it!=M.end();it++) { coutfirstsecondsecond == 1) return it->firs
我试图从第二个循环中获取循环的第一项。 我知道我得到了这样的@key @../key 但@first 似乎不像@../first 那样工作 有什么想法吗? 问候 最佳答案 首先,无论是否在嵌套 blo
var tab1 = $('.tabs a:first-child').attr('href'); alert(tab1); .. 尽管同一页面上有两个 div.switch,但仅匹配一个。第二个位于
我想知道如何将节点*变量 NODE 分配给结构内的数据? struct node { int info; struct node *link; }; typedef struct nod
我有两个段落包含在一个 div 中。我想让第一段的文字变大一点,但使用 :first-child 并不能像我所说的那样工作。看不出有什么问题。
我有一个 ul li 列表 Parent child1 child2
我有三个表,即员工、部门和申诉。 Employees 表有超过一百万条记录。我需要找到员工的详细信息、他/她的部门以及他/她提出的申诉。 我可以想到以下两个查询来查找结果: 1。先过滤记录,只获取需要
我有三个表,即员工、部门和申诉。 Employees 表有超过一百万条记录。我需要找到员工的详细信息、他/她的部门以及他/她提出的申诉。 我可以想到以下两个查询来查找结果: 1。先过滤记录,只获取需要
这有什么区别吗: myList.Where(item => item == 0).First(); 还有这个: myList.First(item => item == 0); 后者对我来说更有意义,
我分不清 element:first-child 之间的区别和 element:first-of-type 例如,你有一个 div div:first-child → 全部 元素是其父元素的第一个子元
当我遇到一个奇怪的情况时,我正在研究 CSS 选择器。 如果我使用 :first-child 伪元素,我需要在它前面加上一个空格才能工作,否则它将无法工作。然而 :first-letter 伪元素的情
请考虑以下字符串数组: let strings = ["str1", "str2", "str10", "str20"] 假设需要获取包含 5 个字符的第一个元素 (String),我可以使用 fil
让我们假设我们要开始新项目 - 包含一些业务逻辑的应用程序、ASP.NET 上的用户界面、WPF 或两者。我们想使用 ORM 或 DAL 代码生成器并在 .NET 类中实现我们的业务逻辑。我们可以通过
我有一种树系统。我想做的是给所有 parent 一个 margin ,除了第一个。这是我的 HTML: Test
我分不清 element:first-child 之间的区别和 element:first-of-type 例如,你有一个 div div:first-child → 全部 元素是其父元素的第一个子元
我是一名优秀的程序员,十分优秀!