如何仅使用已修改的属性值转换对象,其余值应为null?

时间:2013-01-30 15:07:30

标签: c# entity-framework-5 azure-worker-roles

使用Reflection我获得了Object的修改列的集合。

IEnumerable<string> modified = GetModifiedColumns();

我想修改下面的对象

 EmployeeModel model = new EmployeeModel
        {
            Id = 1000, //This one must 
            FirstName = modfiedValue,
            Email = null, 
            LastName = null,
            Phone = null
        };

此模型我将发送到辅助角色并仅使用修改后的值更新实体。这样我想减少电线上的流量。

我可以使用如下,它的工作。但它不是一种有效的方法

var empModel = GetOnlyUpdatedColumns(modified , model);     

private EmployeeModel GetOnlyUpdatedColumns(IEnumerable<string> modified , EmployeeModel emp)
    {
EmployeeModel model = new EmployeeModel
        {
            Id = emp.Id, //This one must 
            FirstName =  (modified.Contains("FirstName"))? emp.FirstName:null,
            Email = (modified.Contains("FirstName"))? emp.FirstName:null,
            LastName = (modified.Contains("LastName"))? emp.LastName:null,
            Phone = (modified.Contains("Phone"))? emp.Phone:null,
        };
}

先谢谢。

0 个答案:

没有答案