如何通过以字符串格式调用其名称来循环导航属性?

时间:2017-08-28 20:54:47

标签: c# entity-framework generics

我的数据通用更新方法如下:

public virtual void Update(IEnumerable<string> exclude_Property, 
                           IEnumerable<string> include_NavProperty = null,
                           params T[] items)
{
    foreach (var item in items)
    {
        _entities.Entry(item).State = EntityState.Modified;
        foreach (var cn in exclude_Property)
        {
            _entities.Entry(item).Property(cn).IsModified = false;                    
        }
    }
     _entities.SaveChanges();
}

我在这个方法中有三个参数:

  1. exclude_property - 用于我要在更新时排除的属性
  2. include_NavProperty - 在主要细节模型的条件下使用for,我传递了我想用主记录编辑的导航属性名称
  3. items - 传递模型
  4. 我的问题是,由于通用性质,我不知道导航属性名称的名称,但它在我的include_NavProperty参数中有字符串格式。

    我想在导航属性上应用循环,以便一次性为更新记录标记其项目EntityState.Modified

0 个答案:

没有答案