2016-04-08 24 views
0

İki SQL Server tablolarım var - PhoneNumbers ve PhoneLineTypes. PhoneNumbers, PhoneLineTypes.ID numaralı başvuruları bulunan PhoneLineTypeID numaralı yabancı bir anahtara sahiptir.Get Açıklama Tabloya Göre Açıklama Tablo

Visual Studio hem tablolar için sınıfları oluşturulmuş ancak PhoneNumber sınıf yalnızca tip PhoneLineType tarlası PhoneLineTypeID için bir int alanı vardır ve.

Sorunum PhoneLineTypes gelecekti telefon hattı tipi, dize açıklamasını istiyorum, ama sadece PhoneNumbers den int PhoneLineTypeID (yerine 1 i "Fax" istiyorum) var. Nihayetinde bir WPF ComboBox'ı bu değere bağlamak istiyorum ama sınıfta bulunmadığı için ne yapacağımı bilmiyorum.

+0

yapmak mümkün olmalıdır. – Mike

+0

Bir referans olsa da. Yabancı Anahtar orada olduğundan, diğer tabloya bir göz atabileceğiniz bir değere sahip olursunuz. Bilgileri kullanmak için şu anda kullanmakta olduğunuz Linq/SQL sorgusunu gönderir misiniz? –

+0

Hiçbir LINQ sorgusu kullanmıyorum. Oluşturulan DataContext sınıfının bir EntitySet özelliği vardır. Buna doğrudan erişiyorum. – Mike

cevap

0

PhoneLineTypeID öğesini, PhoneLineTypes ürününden ihtiyaç duyduğunuz her şeye dönüştürmek için dönüştürücüler oluşturmalısınız. Bu konuda yardıma ihtiyacınız varsa, ağda dönüştürücüleri nasıl kullanacağınız konusunda birkaç eğitici var.

0

Burada karanlıkta bir bıçak alıyorum, (sorgu veya kodunuz gibi bir şey görmek güzel olurdu), ancak sorgunuzdaki PhoneNumbers ve PhoneLineTypes tablolarına katılmanız gerekecek. Linq (I kullandığınız söyledi düşünüyorum) kullanarak, Dediğim gibi

var query = from number in PhoneNumbers 
     join phoneType in PhoneLineTypes 
     on numbers.PhoneLineTypeID equals phoneType.ID 
     select new{ 
      ID = number.PhoneLineTypeID, 
      Name = phoneType.Description 
     } 
phoneComboBox.ItemsSource = query.ToList(); 
phoneComboBox.DisplayMemberPath = "Name"; 
phoneComboBox.SelectedValuePath = "ID" 

gibi bir şey bakıyor olurduk, bazı boşlukları doldurmadan daha yardımcı zor ama umarım bu size koymalıyız doğru iz yerde yabancı tuşları ile

0

, sen SSMS oluşturulan mevcut tabloları kullanılır ve şablon değil, EF "SQL Classes LINQ to" kullanılır aşağıdaki

var query = from number in PhoneNumbers 
      select number.PhoneLineTypes.PhoneLineType