我有一个项目,我处理“产品”。 产品有许多不同的属性,都存储在产品表中。由于性能问题,有一个名为“信誉”的表,用于存储有关产品声誉的信息。
“Product”类具有许多不同属性的属性和信誉信息的属性。
我想使用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();
我在哪里设置其他属性?像“产品=产品。*”
之类的东西谢谢!
编辑:产品类包含信誉信息,它在数据库中以性能问题分隔
答案 0 :(得分:0)
由于您有额外的字段,因此无法选择新产品 声誉,而不是产品类(我假设)。
注意,如果你有更多,SingleOrDefault()将抛出异常 一个结果所以在这种情况下我没有看到任何一点使用它。
您可以选择新的{all fileds you,而不是选择新产品 需要填充=相应的值}你需要显式写 所有你需要的,你不能使用像产品这样的东西。*
答案 1 :(得分:0)
据我所知,这是不可能的,但另一种解决方案是批量选择,首先搜索产品,然后搜索信誉,之后手动合并,如下所示: