如何更新不同类型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) ; ;

有什么解决方案吗?

提前谢谢?

如何更新不同类型Entityobject的公共属性

让您的实体实现一个通用接口,该接口指定您需要的字段,并根据该接口编写更新函数。

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模板(如果它适用于所有实体)或让特定实体在分部类文件中实现您的接口,让它们实现接口。