0

如果我使用通常在 t-sql 中:

SELECT *
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;

它返回所有表的所有列,我怎样才能在 linq 中实现呢?

试过:

var query = from siparis in db.Siparis
            join kazan in db.Kazan on siparis.ID equals kazan.Siparis_ID into Joined
            select Joined;

但它只返回我的对象​​,而不是一切。

4

2 回答 2

1

您将需要返回两个对象,或从每个对象中选择一个。这在您问题的评论中指定。但我只是认为一个例子会有所帮助。

var query = from siparis in db.Siparis
            join kazan in db.Kazan on siparis.ID equals kazan.Siparis_ID 
            select new { 
                         siparis, 
                         kazan
                       };

或者

var query = from siparis in db.Siparis
            join kazan in db.Kazan on siparis.ID equals kazan.Siparis_ID 
            select new { 
                         SiparisID = siparis.ID, 
                         KazanID = kazan.ID,
                         SiparisColumnX = sipariz.X,
                         KazanColumnX = kazan.X
                       };
于 2013-08-17T15:52:55.643 回答
0

这是等价的

var query = from siparis in db.Siparis
               join kazan in db.Kazan on siparis.ID equals kazan.Siparis_ID
               select siparis;

为了得到结果,在最后添加 .ToList 就像

var query = (from siparis in db.Siparis
               join kazan in db.Kazan on siparis.ID equals kazan.Siparis_ID
               select siparis).ToList();
于 2013-08-17T13:20:23.100 回答