我得到了下面的連接,我會返回什麼類型/類來保留所有的屬性?這是我認爲大多數人都熟悉的NorthWind數據庫。LinqToSQL加入什麼類型作爲返回列表
var q =
from a in db.GetTable<Order_Detail>()
join b in db.GetTable<Product>() on a.ProductID equals b.ProductID
select a;
我得到了下面的連接,我會返回什麼類型/類來保留所有的屬性?這是我認爲大多數人都熟悉的NorthWind數據庫。LinqToSQL加入什麼類型作爲返回列表
var q =
from a in db.GetTable<Order_Detail>()
join b in db.GetTable<Product>() on a.ProductID equals b.ProductID
select a;
你有兩個選擇,你可以選擇它作爲一個anonymous type
,這樣
var q =
from a in db.GetTable<Order_Detail>()
join b in db.GetTable<Product>() on a.ProductID equals b.ProductID
select new { a, b };
這會給你一個對象q
與a
和b
就可以了,因此,例如,你可以這樣做:
q.a.SomeOrderInformation
q.b.SomeProductInformation
或者你可以選擇一個班。
創建領域一個新的類,你想:
public class MyNewClass {
public string MyOrderProperty {get; set;}
public string MyProductProperty {get; set;}
}
然後填充它:
var q =
from a in db.GetTable<Order_Detail>()
join b in db.GetTable<Product>() on a.ProductID equals b.ProductID
select new MyNewClass { MyProductProperty = b.ProductId, MyOrderProperty = a.OrderName };
變化領域/類名,以適應我只是做起來,我不要」無法進入北風。
你想要做的就是創建一個新的匿名類型返回這兩個值是什麼:
var q =
from a in db.GetTable<Order_Detail>()
join b in db.GetTable<Product>() on a.ProductID equals b.ProductID
select new
{
Order = a,
Product = b
};
請注意,如果你有你的外鍵設置正確,你不應該需要做的顯式加入。您應該能夠說Order_Detail.Products
以在Order_Detail中獲得Product
。
你會想'選擇新的{a,b}'來得到一切。 – NibblyPig
,我該怎麼做?當談到LinqToSql時,我是一個新手 – btmach