したがって、このリンクhttp://msdn.microsoft.com/en-us/data/jj691402.aspxのコードコードのみのオプションにほとんど従うことで、最終的に解決したと思います
ストアド プロシージャと呼ばれる新しいメソッドをリポジトリに追加し、複数の結果セットを返しました。これらの線に沿った何か
Public Object[] StoredProcCall(string storedProc, SqlDbParams sqlParams, type[] types)
{
var cmd = dbContext.Database.Connection.CreateCommand();
cmd.CommandText = storedProc;
cmd.CommandType = CommandType.StoredProcedure;
if(parameters != null)
cmd.Parameters.AddRange(sqlParams);
var reader = cmd.ExecuteReader();
try
{
dbContext.Database.Connection.Open();
object[] mObj = new object[types.Count];
for(int i = 0; i < types.Count; i++)
{
System.Reflection.MethodInfo method = typeof(AutoMapper.Mapper).GetMethod("DynamicMap", new Type[] { typeof(object)});
var generic = method.MakeGenericMethod(types[i]);
objected mappedData = generic.Invoke(this, new object[] { reader});
mObj[i] = mappedData;
if(!reader.NextResult())
break;
}
return mObj;
}
finally
{
dbContext.Database.Connection.Close();
}
}
唯一の考えは、それが機能するためには、単純な型である 1 つのプロパティのみで構成されるクラスを作成する必要があるということです。配列内のすべての型は IEnumerable である必要がありますが、これは私の場合は問題ありません。しかし、それは私がやったことの基本であり、必要に応じて変更できます。