2016-11-04 6 views
0

以下のコードは、特定の住所に関連する受注を表示しています。問題は、このリストをDataGridにバインドすると、リストにAddressIDが含まれていることです。アドレステーブルから関連するaddressNameを表示したい。 SalesOrdersテーブルのAddressIDを使用して、Addressテーブルからアドレス名を取得する方法がわかりません。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

そのことをありがとう。 SalesOrderListが動的ではないというエラーが表示されます。これを拡大してもよろしいですか? 'publicリスト SalesOrderList { get {return(リスト)(GetValue(SalesOrderListProperty)); } set {SetValue(SalesOrderListProperty、value);} } } ' – PJB