従業員オブジェクトに次のように言わせます。
public class Employee
{
public int Id {get; set;}
public int Name {get; set;}
public int Address {get; set;}
...other few 10's of properties
}
問題は、名前のみを更新するにはどうすればよいですか?たとえば。名前を更新したい場合は
Employee e = Db.Employees.Where(e => e.Id == someId).SingleOrDefault();
e.Name = "Jack";
Db.SaveChanges();
ご覧のとおり、更新するには、最初にオブジェクトを取得してから更新してから、SaveChanges()を呼び出す必要があります。データベースへの単一のクエリで実行できるタスクの場合、2つのクエリを実行する必要があります。1)オブジェクトを取得します。2)必要なオブジェクトを更新し、変更を保存します。
従来のストアドプロシージャのアプローチでは、IDを渡し、新しいNameを渡し、Updateステートメントを記述すれば完了です。Entity Frameworkは本当に非効率的ですか、それとも何かが足りませんか?