2016-11-04 63 views
0

下面的代码显示与特定地址相关的销售订单。问题是当我将这个列表绑定到一个数据网格时,这个列表包含了AddressID。我希望它从地址表中显示相关的地址名称。 我不知道如何使用SalesOrders表中的AddressID从地址表中获取地址名称。linq与sql关系

PiDbEntities ctx = new PiDbEntities();  
var q = (from s in ctx.SalesOrders 
     orderby s.SalesOrderID 
     where s.AddressID == Address2.AddressID 
     select s).ToList(); 
    SalesOrderList = q; 
+0

我不认为地址名称在SaleOrders表。它必须位于另一个表中,您需要将地址名称加入到当前查询中。 – jdweng

回答

0
PiDbEntities ctx = new PiDbEntities();  
var q = (from s in ctx.SalesOrders 
     join a in Address ON s.AddressID equals a.AddressID 
     orderby s.SalesOrderID 
     select new {s.Order, S.Qutity, a.AdderssName}).ToList(); 
SalesOrderList = q; 
+0

仅当SalesOrderList是动态类型时。 –

+0

感谢那个jdweng。我收到关于SalesOrderList不是动态的错误。你介意在此扩展吗? '公开列表 SalesOrderList { get {return(List )(GetValue(SalesOrderListProperty)); } {SetValue(SalesOrderListProperty,value);} set {SetValue(SalesOrderListProperty,value); ' }' – PJB