EF更新指定字段,代碼如下:
接口類:
/// <summary> /// 更新指定字段 /// </summary> /// <param name="entity">實體</param> /// <param name="fileds">更新字段數組</param> void UpdateEntityFields(T entity, List<string> fileds);
實現接口類:
public void UpdateEntityFields(T entity, List<string> fileds) { if (entity != null&&fileds!=null) { dbContext.CreateObjectSet<T>().Attach(entity); var SetEntry = ((IObjectContextAdapter)dbContext).ObjectContext. ObjectStateManager.GetObjectStateEntry(entity); foreach (var t in fileds) { SetEntry.SetModifiedProperty(t); } } }
需要引用命名空間:
using System.Data.Entity.Infrastructure;
從村長dudu哪里學到的,我也記錄下,求路過的大神,幫忙改成Lambda形式的強類型 謝謝
如果大家還迷茫,這里有示例代碼
Entity Framework 同一個上下文中,如何進行對同一個實體進行指定字段更新