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()'尋找一個單一的實體 –
你可能會先告訴你想要實現什麼。也許知道這可以幫助我們,而不是試圖調試那些可能達不到您要實現的目標的代碼。 –