0
方法从数据库返回记录。参数中通过反射c调用参数的方法#
public T Find(params object[] primaryKeys)
{
var dbSet = _sessionContext.Set<T>() as DbSet<T>;
return dbSet != null ? dbSet.Find(primaryKeys) : null;
}
我试图通过反射调用
var methodCreateReadRepositoryEntity =
typeof(IRepositoryFactory)
.GetMethod("CreateReadRepository")
.MakeGenericMethod(entityMetadata.GetEntityType());
var entityReadRepository =
methodCreateReadRepositoryEntity
.Invoke(_repositoryFactory, new object[] { _sessionMarketContext });
List<object> keys = new List<object>();
keys.Add(value);
var methodEntityGet =
entityReadRepository.GetType().GetMethod("Find", new Type[] { typeof(object[])});
var fromRepo =
methodEntityGet.Invoke(entityReadRepository, new object[]{new []{ keys.ToArray()[0]}});
值是GUID。我有错误
其中一个主键值的类型与实体中定义的类型不匹配。 调用的目标引发了异常。
为什么key.ToArray()[0]'上的'[0]'? –
'.Find()'寻找一个单一的实体 –
你可能会先告诉你想要实现什么。也许知道这可以帮助我们,而不是试图调试那些可能达不到您要实现的目标的代码。 –