我有以下课程:
public class PricingRuleNumberRange
{
public decimal? FromValue { get; private set; }
public decimal? ToValue { get; private set; }
protected PricingRuleNumberRange() {}
public PricingRuleNumberRange(decimal? fromValue, decimal? toValue)
{
FromValue = fromValue;
ToValue = toValue;
}
...
}
以及使用所述类别的模型;
public class PricingRule
{
public PricingRuleNumberRange LVR { get; private set; }
protected PricingRule() { }
public PricingRule(...)
{
...
}
public void UpdateDetails(PricingRuleNumberRange lvr)
{
LVR = lvr;
}
}
我可以添加新的
PricingRuleNumberRange
属性到
PricingRule
然后打电话
Add-Migration
,它将无问题地检测和脚手架变更。但是,我现在需要添加另一个
价格范围
只有一个
int
,不是
decimal
。我认为转换
价格范围
对于一般类是可以接受的,但是
添加迁移
现在放下
LVR
属性/列。
这是新的代码;
public class PricingRuleNumberRange<T> where T : struct, IComparable<T>
{
public T? FromValue { get; private set; }
public T? ToValue { get; private set; }
protected PricingRuleNumberRange() {}
public PricingRuleNumberRange(T? fromValue, T? toValue)
{
FromValue = fromValue;
ToValue = toValue;
}
...
}
public class PricingRule
{
public PricingRuleNumberRange<decimal> LVR { get; private set; }
public PricingRuleNumberRange<int> NewCol { get; private set; }
protected PricingRule() { }
public PricingRule(...)
{
...
}
public void UpdateDetails(PricingRuleNumberRange<decimal> lvr)
{
LVR = lvr;
}
}
因为我在说明
int
/
十进制的
在财产申报表中,我以为它会继续提货,但显然不会。我想我可能需要在
DbContext.OnModelCreating()
方法或可能向某些属性添加一些属性以使其正常工作?