代码之家  ›  专栏  ›  技术社区  ›  Antony

在linq to sql:sql_variant或多个字段的上下文中为SQL查找表选择架构

  •  0
  • Antony  · 技术社区  · 14 年前

    我有一个类似的问题 this 但在L2S的上下文中,我想创建一个查找表来存储可能是几种可能的数据类型之一的值。如参考问题中建议的,我可以使用 sql_variant 数据类型。但是,L2S地图 Sql变体 Object 是次优的。我猜有可能从表元数据中找出确切的类型,但我认为这太混乱了。有人试过吗?

    另一种可能是将数据拆分为多个表,每个表包含一个强类型字段,以及一个包含鉴别器的主表。但是,在这里我遇到了另一个问题:L2S只支持一种继承类型:表/类层次结构。所以,自然地,我的下一个想法是将所有值列和鉴别器放在一个表中。这样我就可以有一个抽象的父类和几个继承成员。尽管在ORM中我可以重命名所有列的值,但这些列必须被称为valueint、valuedec等。所以,这看起来是一个不错的解决方案,但仍然有点尴尬:所有空值都在一个表中。有没有更好的想法?

    另外,所有查找值当前都存储在配置文件中的applicationsettings中,这确实提供了强类型,但也存在其他问题。

    1 回复  |  直到 14 年前