У меня есть приложение, в котором я использую хранимую процедуру и LINQ.Моя процедура выглядит следующим образом:
myProc
select col1, Col2, Col3 from Tab1 inner join Tab2 on col1=ColA join tab3 on Col1=ColD
Select cola, Colb, Colc from Taba inner join Tabb on cola=ColX join tabc on Cola=ColY
Select colP, ColQ, ColR from TabP inner join TabQ on colP=ColW join tabR on ColP=ColZ
Я выполняю эту хранимую процедуру в LINQ.Когда я выполняю его, я получаю результаты в IMultipleResults.
Ниже приведен мой код в LINQ:
[Function(Name = "dbo.MyProc")]
[ResultType(typeof(TabA))]
[ResultType(typeof(TabB))] .....
public IMultipleResults GetMultipleResults([Parameter(DbType = "VarChar(50)")] string i_Cola)
{
IExecuteResult result = this.ExecuteMethodCall(this, ((MethodInfo)(MethodInfo.GetCurrentMethod())), i_Cola);
return (IMultipleResults)result.ReturnValue;
}
Когда я выполняю его следующим образом:
MyContext mCtx = new MyContext()
var allResult = mCtx.GetMultipleResults(txtName.Text.Trim());
IEnumerable<Taba> TabaRes = allResult.GetResult<Taba>();
IEnumerable<TabB> TabbRes = allResult.GetResult<Tabb>();
Я получаю значения столбцов таблиц, но мне также нужны столбцы Inner Joined.Я ссылался на многие блоги и форумы, такие как ...
- Блог Бена Холла
- Блог Гая Бурштейна
- Блог Microsoft
... чтобы попытаться найти решение моей проблемы, но не смог найти.