我使用以下代码获取我的实体在EF中的主键:
ObjectContext objectContext = ((IObjectContextAdapter)_dataContext).ObjectContext;
ObjectSet<TEntity> set = objectContext.CreateObjectSet<TEntity>();
IList<string> pKeys = set.EntitySet.ElementType
.KeyMembers
.Select(k => k.Name).ToList();
但我的问题是上面的代码只返回主键的名称,但我也需要值
例如:ID,123
所以我必须为此目的使用反射,如此
obj[i] = entity.GetType().GetProperty(pKeys[i]).GetValue(entity, null);
我是否有办法不使用反射来获取值? (速度更快)