c# - 使用 Join、LINQ 然后 Split 从存储过程中获取 n 个绑定(bind)数据。使用多个结果,Linq2SQL

标签 c# .net linq-to-sql stored-procedures

我有一个应用程序,我在其中使用存储过程和 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>();

我正在获取表的列值,但我还需要内部连接列。 我引用了许多博客和论坛,例如...

  1. Ben Hall's Blog
  2. Guy Burstein's Blog
  3. Microsoft's Blog

...试图找到解决我的问题的方法,但找不到。

最佳答案

更好地使用关于 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/

相关文章:

c# - 为什么在使用 TypesToScan() 后 NServiceBus 配置被破坏

c# - 如何检索演示文稿中 PowerPoint 幻灯片之间的链接

.net - .Net/F# 中的千位分隔符

c# - 使用 UAC 启动时获取当前用户名

.NET 泛型术语 - 打开/关闭、未绑定(bind)/构造

c# - asp.net 如何从表单密码文本中获取数据

c# - 用可重用的方法替换 LINQ to SQL 查询的一部分

c# - 左外部联接,对象引用未设置为对象的实例

c# - 泛化 LINQ 模型

c# - 可以打开上传到blob容器中的excel文件吗?