リフレクションを使用して、オブジェクトの変更された列のコレクションを取得しました。
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,
};
}
前もって感謝します。