我有一个名为Products的表和一个名为ProductDescription的表。 ProductDescription有一个名为ProductDescriptionID的主键。因此,要获得产品的描述,我需要访问这两个表。
这是我的代码,用于访问产品的描述,但我不知道如何解决它,因为我得到:“无法将lambda表达式转换为字符串,因为它不是委托类型”。
TerminateProcess
编辑:
productDetailsVM.ProductDescription = db.ProductDescriptions
.Where(c => c.ProductDescriptionID.Any(p => p.ProductID == id))
.FirstOrDefault();
我如何实际编写此查询?
答案 0 :(得分:2)
我猜你的数据库可能是新的并且仍在开发中,你还没有定义Product和ProductDescription(ProductDescription表中ProductID的外键)之间的关系。
一旦你建立了这种关系并刷新了你的EF图表(假设你没有使用Code First),你就可以做到:
Component
这假定产品只有1个ProductDescription。
答案 1 :(得分:0)
不这样做吗?
productDetailsVM.ProductDescription = db.ProductDescriptions
.Where(c => c.ProductID == id)
.FirstOrDefault();
答案 2 :(得分:0)