linq to sql中怎样执行tsql

发布网友 发布时间:2022-04-22 13:02

我来回答

4个回答

懂视网 时间:2022-04-30 01:09

var list = (from c in customerDb.Order 2 join o in customerDb.OrderItem on c.OrderId equals o.OrderItemId 3 select new { c = c.OrderId }).FirstOrDefault();

      生成的Sql

1 SELECT TOP (1) 
2 [Extent1].[OrderId] AS [OrderId]
3 FROM [dbo].[Orders] AS [Extent1]
4 INNER JOIN [dbo].[OrderItems] AS [Extent2] ON [Extent1].[OrderId] = [Extent2].[OrderItemId]

 

Left Join

      Linq:

1 var list = (from c in customerDb.Order
2    join o in customerDb.OrderItem on c.OrderId equals o.OrderItemId
3     into Grp
4    from grp in Grp.DefaultIfEmpty()
5    select new { c = c.OrderId, grp = grp.OrderItemId }).FirstOrDefault();

      生成的Sql:

1 SELECT TOP (1) 
2 [Extent1].[OrderId] AS [OrderId], 
3 [Extent2].[OrderItemId] AS [OrderItemId]
4 FROM [dbo].[Orders] AS [Extent1]
5 LEFT OUTER JOIN [dbo].[OrderItems] AS [Extent2] ON [Extent1].[OrderId] = [Extent2].[OrderItemId]

 Cross Join

        Linq:   

1 var list = (from c in customerDb.Order
2    from o in customerDb.OrderItem 
3    select new { c = c.OrderId,o=o.OrderItemId }).FirstOrDefault();

        生成的Sql:

1 SELECT TOP (1) 
2 [Extent1].[OrderId] AS [OrderId], 
3 [Extent2].[OrderItemId] AS [OrderItemId]
4 FROM [dbo].[Orders] AS [Extent1]
5 CROSS JOIN [dbo].[OrderItems] AS [Extent2]

  总结:右连接其实就是换下两个表的顺序位置,

          全连接就是把左外连接的结果拼接起来去重就行。

          用顺ef后,可以加速开发效率,期待那一天早日到来,加油啊!!!

Linq实现t-Sql的各种连接

标签:

热心网友 时间:2022-04-29 22:17

LINQ数据库实体对象.ExecuteCommand(“T-SQLTEXT”,paras[]); // 摘要: // 表示 LINQ to SQL 框架的主入口点。 public class DataContext : IDisposable{ // // 摘要: // 直接对数据库执行 SQL 命令。 // // 参数: // command: // 要执行的 SQL 命令。 // // parameters: // 要传递给命令的参数数组。注意下面的行为:如果数组中的对象的数目小于命令字符串中已标识的最大数,则会引发异常。如果数组包含未在命令字符串中引用的对象,则不会引发异常。如果任一参数为 // null,则该参数会转换为 DBNull.Value。 // // 返回结果: // 一个 int,表示所执行命令修改的行数。 public int ExecuteCommand(string command, params object[] parameters);}

热心网友 时间:2022-04-29 23:35

LINQ技术其实是先将数据库导入创建了一个数据集~~然后从数据集中直接查询你所需要的数据的·~~语句写法跟TSQL语句没多大区别·~只是看着更直观·~在程序执行过程中获取数据的速度更快·~个人理解·~

热心网友 时间:2022-04-30 01:10

举个例子吧:根据条件查询书本:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com