我想创建一个LINQ to实体查询从两个表中获取数据(连接)并将结果作为数据源绑定到datagridview。
不幸的是,我似乎偶然发现了语法问题。
表1:dcpricing.tblpricing 表2:dcpropertydetail.tblpropertydetail
网格:grdpricing
Dim qry = (From propertyobj In dcPropertyDetail.tblproperydetail
Join Pricingobj In dcPricing.tblpricing
On propertyobj.prop_det_index Equals Pricingobj.prop_id
Where (propertyobj.prop_det_Status = 1)
Select propertyobj.prop_det_Name, Pricingobj.prop_rental_double).ToList
grdpricing.datasource = qry
传递查询时弹出错误并显示: [COLOR =“Red”]指定的LINQ表达式包含对与不同上下文关联的查询的引用。[/ COLOR]
我感谢所有的帮助! 斯泰恩
答案 0 :(得分:1)
错误消息告诉您完全问题是什么 - 您有一个试图跨越数据上下文的查询。具体来说,您的tblpropertydetail
表来自dcPropertyDetail
数据上下文,而您的tblpricing
表来自dcPricing
上下文。实体框架中不允许这样做。
是否有某些原因导致您无法在同一数据环境中使用它们?如果它们位于不同的数据库中,请参阅this question以获取解决方法。