问题描述
在我的域模型中,我有一个属性类型 Property<T>
,它旁边有一个 Value 和一个 DefaultValue:
public class Property<T> : Entity
{
public Property(T defaultValue)
{
DefaultValue = defaultValue;
Value = defaultValue;
}
public T DefaultValue { get; }
public T Value { get; set; }
}
public class Device : Entity<Guid>
{
public Property<double> Calibration { get; } = new Property<double>(5.0);
}
我想使用 EF Core 在数据库中保存校准属性的值,并且我还想保留默认值,因为它来自默认初始化。
问题:我是否需要将 DefaultValue 也保存在数据库中,或者我可以告诉 EF Core 在对实体类型的存储库执行 Get() 调用时以某种方式从默认构造的对象中使用它设备?
当只需要存储 Value 时(并且 DefaultValue 来自类型定义),这将为我节省将完整属性作为实体存储在数据库中的“努力”。 使用 ValueConverter 仅保存 Calibration 属性的值就可以了。
在我将域对象映射到实体之前,但现在我尝试合并它们以摆脱中间的自动映射步骤。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)