如何更新不同类型Entityobject的公共属性
本文关键字:Entityobject 属性 同类型 何更新 更新 | 更新日期: 2023-09-27 18:19:35
我的表有常见的列,如"Operation_Time"、"Create_User"。我不想为我的许多类型的实体对象(即personels、adress等)编写更新代码,而是想编写一个静态方法,该方法将接受实体对象并更新其目标字段。有了Dataset和DataTable,这非常容易。
function updateEntityObjectsCommonFields(EntityObject obj)
{ /// just i guess
obj.Fields["Create_Usr"] = Session.Usr;
obj.Fields["Operation_Time"] = DateTime.Now;
obj.Fields["Last_Op_Usr"] = Session.Usr;
}
/// usage
updateEntityObjectsCommonFields(Person) ;
updateEntityObjectsCommonFields(Adres)
updateEntityObjectsCommonFields(Application) ; ;
有什么解决方案吗?
提前谢谢?
让您的实体实现一个通用接口,该接口指定您需要的字段,并根据该接口编写更新函数。
public interface IAuditEntity
{
User CreateUsr { get; set;}
DateTime OperationTime { get; set;}
User LastOperationUser { get; set;}
}
public void UpdateEntityObjectsCommonFields(IAuditEntityobj)
{ /// just i guess
obj.CreateUsr = Session.Usr;
obj.OperationTime = DateTime.Now;
obj.LastOperationUser = Session.Usr;
}
您可以通过修改T4模板(如果它适用于所有实体)或让特定实体在分部类文件中实现您的接口,让它们实现接口。