我有一个通用模型,用于使用 ORM 技术存储所有数据。这个模型必须偶尔转换成另一个模型来“做某事”。目前我正在使用这种(简化的)方法,其中通用模型以千克为单位存储重量,而目标模型以磅为单位存储重量:
public class GenericModelClassA
{
public virtual double Weight { get; set; }
}
public interface IModelX
{
double Weight { get; set; }
}
public class ModelXClassA : GenericModelClassA, IModelX
{
private const double WeightConversionFactor = 2.20462;
public override double Weight
{
set
{
base.Weight = value / WeightConversionFactor;
}
get
{
return base.Weight * WeightConversionFactor;
}
}
}
这是解决问题的好方法吗?我听说过用于查询/查看/转换/操作 (QVTO) 的模型驱动转换 (MDT) 语言。我的做法是不是太天真了?你会推荐 MDT 语言吗?任何反馈/意见将不胜感激。
非常感谢。
基督教