我有一个类似的问题
this
但在L2S的上下文中,我想创建一个查找表来存储可能是几种可能的数据类型之一的值。如参考问题中建议的,我可以使用
sql_variant
数据类型。但是,L2S地图
Sql变体
到
Object
是次优的。我猜有可能从表元数据中找出确切的类型,但我认为这太混乱了。有人试过吗?
另一种可能是将数据拆分为多个表,每个表包含一个强类型字段,以及一个包含鉴别器的主表。但是,在这里我遇到了另一个问题:L2S只支持一种继承类型:表/类层次结构。所以,自然地,我的下一个想法是将所有值列和鉴别器放在一个表中。这样我就可以有一个抽象的父类和几个继承成员。尽管在ORM中我可以重命名所有列的值,但这些列必须被称为valueint、valuedec等。所以,这看起来是一个不错的解决方案,但仍然有点尴尬:所有空值都在一个表中。有没有更好的想法?
另外,所有查找值当前都存储在配置文件中的applicationsettings中,这确实提供了强类型,但也存在其他问题。