EFを使用してupdate single field in my database
する必要がありました。私はこのようにそれのようにやっている:EFを使用して特定のプロパティを更新
1 - 名
2に基づいてテーブルからorginalレコードをロード - 更新フィールド値
3 - DBに戻ってオブジェクトを保存
コード:
public void UpdateUser(List<User> users)
{
foreach (User user in users)
{
Job original = _context.Users.Where(x => x.Name == user.Name).AsNoTracking().FirstOrDefault();
if (original != null)
{
original.Name = user.Nanme;
_context.Entry(original).State = EntityState.Modified; // not sure it is needed or not
}
_context.SaveChanges();
}
}
は、効率的な方法ですか?それとも私はもっと良い方法でそれをすることができますか?
EFは何の 'original'エンティティのトラックを持っていないし、エンティティを装着せずに、' original'が更新されません。 –
ありがとう! @MohsenEsmailpour、答えが更新されました。 –
あなたは私と同じことを言った。どのように違うのですか? – simbada