C# 如何转换仅具有修改属性值的对象,其余值应为null?

C# 如何转换仅具有修改属性值的对象,其余值应为null?,c#,entity-framework-5,azure-worker-roles,C#,Entity Framework 5,Azure Worker Roles,使用反射,我得到了对象的修改列集合 IEnumerable<string> modified = GetModifiedColumns(); 我将把这个模型发送给worker角色,并用修改后的值更新实体。这样我想减少线路上的通信量 我可以像下面这样使用,它的工作。但这不是一个有效的方法 var empModel = GetOnlyUpdatedColumns(modified , model); private EmployeeModel GetOnlyUpdatedC

使用反射,我得到了对象的修改列集合

IEnumerable<string> modified = GetModifiedColumns();
我将把这个模型发送给worker角色,并用修改后的值更新实体。这样我想减少线路上的通信量

我可以像下面这样使用,它的工作。但这不是一个有效的方法

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,
        };
}
var empModel=GetOnlyUpdatedColumns(已修改,模型);
private EmployeeModel GetOnlyUpdatedColumns(IEnumerable已修改,EmployeeModel emp)
{
EmployeeModel=新EmployeeModel
{
Id=emp.Id,//这个必须
FirstName=(modified.Contains(“FirstName”)?emp.FirstName:null,
Email=(modified.Contains(“FirstName”)?emp.FirstName:null,
LastName=(modified.Contains(“LastName”)?emp.LastName:null,
Phone=(修改后的包含(“Phone”)?emp.Phone:null,
};
}

提前谢谢。

你的问题是什么?好的。我只希望模型中有修改过的值,剩余的属性保留为空值。修改跟踪很困难,而且没有太多简短的示例,而且对于不是单一平面对象的对象来说,这变得越来越困难。我担心的是,一些模型将有100多个属性,然后我需要检查每个属性是否被修改。
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,
        };
}