我有一个应用程序,我在其中使用存储过程和 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>();
我正在获取表的列值,但我还需要内部连接列。 我引用了许多博客和论坛,例如...
...试图找到解决我的问题的方法,但找不到。
最佳答案
更好地使用关于 SP 的 View (如果你不能编写 linq to sql 查询),如果你正在使用 Linq to Sql,那么使用 Sp 是不值得的,因为它会降低性能。还有一件事如果如果您的数据库已完全规范化,您正在使用 Linq to sql,则无需使用任何类型的连接。 如果您的问题仍然没有解决,请告诉我表结构以及您需要什么,我将为您编写一个查询...
关于c# - 使用 Join、LINQ 然后 Split 从存储过程中获取 n 个绑定(bind)数据。使用多个结果,Linq2SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3940947/