首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >实体属性值(可以是数字或字符串)如何处理?

实体属性值(可以是数字或字符串)如何处理?
EN

Stack Overflow用户
提问于 2016-01-13 12:08:07
回答 1查看 127关注 0票数 1

我有一个实体来确认财产的价值。这个值有时是数字(int),有时是字符串。

例如:我有一个实体CarSpecification:

代码语言:javascript
复制
public class CarSpecification : BaseEntity
    {
        public virtual Car Car{ get; set; }

        public virtual Specification Specification { get; set; }

        public double Value { get; set; }
    }

这指的是汽车和规格的名称“驱动器”和价值“全轮驱动”。

它还引用了同一辆车,以及名称为"doorCount“和值2的规范。

某些值可能会发生几次,这可能是事实。

规范实体:

代码语言:javascript
复制
public class Specification : BaseEntity
    {
        public string Name { get; set; }

        public virtual Measure Measure { get; set; }

        public virtual ICollection<ComponentSpecification> ComponentSpecifications { get; set; }
    }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 12:26:54

事实上,有三种选择:

1)将值存储在具有附加列value_type的字符串列中;

2)将值存储在单独的列中(如string_valueint_value)。这可以使用或不使用value_type列;

3)为值建立类层次结构。类似于:

代码语言:javascript
复制
public abstract class Value { }
public class StringValue : Value {}
public class IntValue : Value {}

显然,对于2和3,需要存储的类型越多,需要维护的列/类型就越多。选项3我只考虑需要存储一些外来的值类型,这需要处理一些额外的数据,因为这是最昂贵的-即使在TPH的情况下,这是额外的表+ JOIN的查询。

我会投1票,因为这很简单。您需要注意的唯一一件事是,在从字符串转换到of时,需要设置格式设置。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34766318

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档