读书人

很久没来了最近在研究LINQ, 下面2句

发布时间: 2012-01-23 21:57:28 作者: rapoo

很久没来了,最近在研究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的标准写法,无差异

读书人网 >SQL Server

热点推荐