2012-08-14 59 views
0

我有一個項目,我在處理「產品」。 產品有許多不同的屬性,全部存儲在產品表中。由於性能問題,有一張名爲「信譽」的表格存儲有關產品聲譽的信息。Linq - 連接表並填充單個對象

「產品」類對於不同的屬性和信譽信息屬性具有許多屬性。

我想用linq查詢數據庫使用連接。

問題是:我怎麼說「來自產品表的所有東西都應該填充產品類中的相應屬性,並且信譽信息應該填充」聲譽「屬性」?

我有這樣的代碼,我感覺我很接近,但我沒有管理它尚未...

var product = (from product in product.Table 
        join reputation in reputation.Table 
on product.ProductId equals reputation.ProductId 
        select new Product { Reputation = reputation 
        }).SingleOrDefault(); 

我在哪裏設置的其他屬性?類似於「Product = Product。*」

謝謝!

編輯:產品類包含的信譽信息,它在db分離的性能問題

+0

查詢的問題是什麼? – 2012-08-14 01:28:27

+0

你可以發佈你的模型嗎? – 2012-08-14 02:13:20

+0

對不起,我沒有得到你的問題... – JSBach 2012-08-14 02:13:32

回答

0
  • 您不能選擇新的產品,因爲你有額外的字段,它是 聲譽,它不是在產品類(我假設)。

  • 請注意,SingleOrDefault()會拋出異常,如果你有更多的 一個結果,所以我沒有看到在這種情況下使用它的任何一點。

  • 而是選擇新的產品,你可以選擇新的{所有的Fileds你 需要填充=相應的值}你需要明確寫入 所有你需要什麼,你不能使用類似的產品。*

+0

產品類包含信譽信息,它在性能問題中分爲數據庫 – JSBach 2012-08-14 02:11:57

+0

因此,只需將第三個提議列出選擇新產品中的所有屬性{...} – 2012-08-14 03:11:08

+0

該類有超過25個屬性,它是巨大的:(你對關於habib在評論中的回答有什麼看法?選擇產品應該工作,因爲他們共享相同的產品? – JSBach 2012-08-14 03:37:40