当前位置:  开发笔记 > 编程语言 > 正文

LINQ to SQL:存储过程结果

如何解决《LINQtoSQL:存储过程结果》经验,为你挑选了1个好方法。

如何更改LINQ到SQL设计器生成的存储过程结果的类名(除了弄乱designer.cs)?

另外,如何在存储过程的结果集上执行linq查询?



1> Marc Gravell..:

你能在dbml中编辑吗?就个人而言,我倾向于将自动生成的类型(来自函数和存储过程)视为DAL本地的DTO,因此我立即将它们重新映射到我自己的POCO表示 - 即

var qry = from row in ctx.SomeProc(12345)
          select new Foo {ID = row.ID, Name = row.Name };

等问题第二个问题"另外,如何在存储过程的结果集上执行linq查询?" - 如果你想编写它,我建议使用UDF而不是存储过程:这允许你在数据库中进行组合,例如分页和过滤:

var qry = (from row in ctx.SomeFunction(12345)
          where row.IsActive
          select row).Skip(10).Take(10);

应该(至少在LINQ-to-SQL中)在服务器上执行TSQL中的所有操作.否则,您可以AsEnumerable()在调用.NET层调用并使用LINQ-to-Objects:

var qry = (from row in ctx.SomeProc(12345).AsEnumerable()
          where row.IsActive
          select row).Skip(10).Take(10);

要编辑dbml(只是xml),请更改ElementType/@Name此处:


  
   
      
      
  

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有