0

我有一个处理“产品”的项目。产品有许多不同的属性,都存储在产品表中。由于性能问题,有一个名为“reputation”的表,用于存储有关产品声誉的信息。

“产品”类具有用于不同属性的许多属性和用于信誉信息的属性。

我想使用 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();

我在哪里设置其他属性?类似“产品 = 产品。*”

谢谢!

编辑:产品类包含信誉信息,它在数据库中因性能问题而分开

4

2 回答 2

0
  • 您不能选择新产品,因为您有额外的字段,即声誉并且它不在产品类中(我假设)。

  • 请注意,如果您有多个结果,SingleOrDefault() 将引发异常,因此在这种情况下我看不到任何使用该结果的意义。

  • 而不是选择新产品,您可以选择新的{您需要填充的所有文件=相应的值}您需要明确写下您需要的所有内容,您不能使用类似产品的东西。*

于 2012-08-14T01:41:58.667 回答
0

据我研究,这是不可能的,但另一种解决方案是批量选择,首先搜索产品,然后搜索声誉,然后手动合并它们,如下所示:

http://tonesdotnetblog.wordpress.com/2008/07/23/linq-to-sql-batches-and-multiple-results-without-stored-procedures-by-tony-wright/

于 2012-08-15T23:15:47.327 回答