首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

很久没来了,最近在研究LINQ, 下面2句SQL是否等价?解决方法

2012-01-23 
很久没来了,最近在研究LINQ, 下面2句SQL是否等价?在LINQ中,如果要产生INNER JOIN,就必须要在表的设计器中

很久没来了,最近在研究LINQ, 下面2句SQL是否等价?
在LINQ中,如果要产生INNER JOIN,就必须要在表的设计器中加上 PK-FK关系

但是。。。我决定不加所以这样写:

C# code
var query = from customerRow in db.CustomerTable            from orderRow in db.OrderTable            where customerRow.CustomerID == orderRow.CustomerID            select new            {                customerRow.CustomerID,                orderRow.OrderID            };



这样得到的SQL是:
SQL code
SELECT [t0].[CustomerID], [t1].[OrderID]FROM [dbo].[tblCustomer] AS [t0], [dbo].[tblOrder] AS [t1]WHERE [t0].[CustomerID] = [t1].[CustomerID]


这句SQL是否和下面的SQL等价?
SQL code
SELECT tblCustomer.[CustomerID], tblOrder.[OrderID]FROM tblCustomerINNER JOIN tblOrder ON tblCustomer.[CustomerID] = tblOrder.[OrderID]



性能是否有差异??

[解决办法]
我认为是一样的.

a.id=b.id是内连接 on a.id = b.id的另外一种写法而已.
[解决办法]
一个是旧式的写法,一个是sql92的标准写法,无差异

热点排行
Bad Request.