我需要定义一对一的关系,似乎无法在SQL Server中找到正确的方法.
为什么要问一对一的关系?
我使用WCF作为DAL(Linq),我有一个包含BLOB列的表.BLOB几乎没有变化,每次进行查询时都会转移它而浪费带宽.
我看了一下这个解决方案,尽管看起来这是一个好主意,但我可以看到Linq在尝试实现这种方法时有点健康.
有任何想法吗?
这个答案解释了@ManyToOne
和之间的功能差异@OneToOne
.不过,我不明白 - 你@OneToOne
什么时候选择使用?
如果我理解正确,这意味着表X中的每个对象都映射到(最多)表Y中的一个对象,并且没有两个X映射到相同的Y.
适当的用例是否适用于可选属性?例如Car < - > Trunk,其中一些汽车有一个行李箱,如果他们这样做,他们拥有它(谈论没有汽车的行李箱是没有意义的)?
什么时候应该使用一对一的关系?什么时候应该添加新字段?什么时候应该将它们分成新表?
在我看来,只要你对字段进行分组和/或该组往往是可选的,你就会使用它.是?
我正在尝试为一个对象创建表,但是分组/分离一切都需要我大约20个连接,有些甚至是4个级别.
难道我做错了什么?我该如何改进?