Заменить значение идентификатора (внешнего ключа) в представлении на его значение - PullRequest
0 голосов
/ 23 марта 2012

У меня есть две таблицы, связанные внешним ключом CarrierID:

Carrier[CarrierID,CarrierName] 
CarrierID = 1, CarrierName = DHL
CarrierID = 2, CarrierName = Fedex

...

Vendor[VendorID, VendorName, CarrierID]  
VendorID = 1, VendorName =D-link , CarrierID=1  
VendorID = 2, VendorName = Netbes , CarrierID= 2

Как я могу показать в gridView поставщика вместо его CarrierID его значение (чтоэто: CarrierName)?Пример "

View Vendor gridview
1 | D-link | DHL
2 | Netbes | Fedex

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 23 марта 2012

Вы можете создать представление в своей базе данных, чтобы выполнить то, что вы хотите:

SELECT v.VendorName, c.CarrierName FROM Vendor v
  JOIN Carrier c ON c.CarrierId = v.CarrierId
0 голосов
/ 23 марта 2012

Я думаю, что вы имеете в виду это для LinqToSql:

var context = new DataContext();
System.Data.Linq.DataLoadOptions dlo = new DataLoadOptions();
dlo.LoadWith<Vendor>(v => v.Carrier);
context.LoadOptions = dlo;

...

gridview.DataContext/ItemsSource = /*my query result of Vendor*/ IQueryable<Vendor>.ToList();

В вашем GridView

{Binding Path=Carrier.CarrierName, FallBackValue=''}

FallbackValue установлено, потому что Carrier может быть нулевым.

...