Mah*_*esh 1 database database-design sql-server-2008 entity-framework-4.1
问题陈述 - [业务] 1 ---*[分支]企业必须有一个或多个分支.只有一个分支可以是主分支.
我脑子里有两个设计
问题#1 - 要对IsMainBranch进行约束我必须使用触发器,后者可能会不同步.
问题#2 - 在EF中访问数据有点复杂.
问题#3 - 不要认为它是一个好的设计.
我使用EF 4.1作为ORM并且不想让事情变得复杂,我应该选择哪种设计.请建议是否有更好的/替代方式.
使用SQL Server 2008+,您可以使用筛选索引
在你的Branch桌子上,只有一面旗帜IsMainBranch.然后创建一个唯一的筛选索引:这将只允许IsMainBranch= 1每个Business的一行.
分支表:
id (PK)
BusinessID (FK)
Name
...
IsMainBranch
Run Code Online (Sandbox Code Playgroud)
然后
CREATE UNIQUE INDEX IX_MainBranch
ON Branch(BusinessID)
WHERE IsMainBranch = 1;
Run Code Online (Sandbox Code Playgroud)
这给了
MainBranchID业务表中没有)另见:
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |