我有一种情况,我有由数据库生成的数据类,这些数据类具有各种属性,例如我无法修改。
public DataClass
{
public string PropertyX {get; set;}
public int PropertyY {get; set;}
public float PropertyZ {get; set;}
}
其中一些类可能有 20 个左右的属性。更新数据时,会制作“持久”数据的“瞬态”副本,然后在瞬态上更新属性并将其从瞬态复制到持久。
这很好,虽然如果只改变一个属性不是很有效。
我想知道在 c# 中是否有一种方法可以创建标记属性列表或将属性添加到我希望更新的某些标记属性上。
所以最终结果是(请注意这都是伪的)
DataClass transientObj = new DataClass(Transient);
[FlagPropertyToUpdate] //This is the bit I have no idea how to do
transientObj.propertyX = "updateOnlyMe!";
DataClass persistantObj = new DataClass(Persistant);
UpdateData dataUpdater = new UpdateData(transientObj,persistantObj)
dataUpdater.save();
public UpdateData
{
public void save(){
//some how know to only update propertyX and not all three properties
}
public UpdateData(DataClass trans, DataClass pers)
}
任何关于我如何去做这件事(如果可能的话)的帮助将不胜感激!