0

リフレクションを使用して、オブジェクトの変更された列のコレクションを取得しました。

IEnumerable<string> modified = GetModifiedColumns();

以下のようにオブジェクトを変更したいと思います

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

このモデルを 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,
        };
}

前もって感謝します。

4

0 に答える 0