mar*_*ark 1 sql sql-server sql-variant
我有一种情况,两个相同类型的对象有不同类型的父母.以下伪代码最好地解释了这种情况:
TypeA a1, a2;
TypeB b;
TypeC c;
a1.Parent = b;
a2.Parent = c;
Run Code Online (Sandbox Code Playgroud)
更复杂的是,TypeB和TypeC可能具有不同类型的主键,例如,以下断言可能为真:
Assert(b.Id is string && c.Id is int);
Run Code Online (Sandbox Code Playgroud)
我的问题是在SQL Server中定义这种父子关系的最佳方法是什么?我能想到的唯一解决方案是定义TypeA表有两列 - ParentId和ParentType,其中:
但是,当我基于sql_variant定义用户数据类型时,它将字段大小指定为固定的8016字节,这似乎很多.
必须有一个更好的方法.任何人?谢谢.
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |