2013-05-12 3 views
1

Я разрабатываю приложение с моделью данных сущностей C# и ADO .NET, у меня есть таблица статей (идентификационная статья, nameArticle, statusArticle, idSubject) по отношению к другой таблице Subjects (idSubject, nameSubject) , Subjects.idSubject = Articles.idSubject. Aftrer извлечения первой статьи, которые имеют statusArticle = 0:Извлечь информацию из реляционной базы данных

Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false); 
    if (firstArticle != null) 
    { 
     textBox1.Text = firstArticle.nameArticle; 
    } 

Я хочу показать в другом TextBox название предмета данной статьи (nameSubject), как я могу выбрать nameSubject этой статьи и показать его в текстовое поле?

ответ

1

Не уверен, если я правильно получать вас, но у вас усталые:

Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false); 
if (firstArticle != null) 
{ 
    textBox1.Text = firstArticle.nameArticle; 
    textBox2.Text = firstArticle.Subject.nameSubject; 
} 

Тема должна быть имя свойства навигации по вашей организации .. Если вы в визуальной студии взглянуть на какие свойства находятся в firstArticle с использованием intellisense, должно быть свойство, которое возвращает объект, который будет ссылаться на этот элемент.

Вы используете codefirst, DB сначала или модель первого подхода к EF? У каждого из них есть способы проверить и настроить то, что будет называться навигационным свойством, и будет ли оно существовать. Сначала я беру DB и помню стандартное именование.

+0

нет, этот код не работает, таблицы разделены, table_Subjects и table_Articles. Для предмета статьи я должен ссылаться на него idSubject. Я проверил все варианты intellisense для firstArticle, но ничего интересного! –

+0

Я нашел его! Большое спасибо! –

+0

не стоит беспокоиться;) принять и отменить, если сочтет это подходящим;) – gordatron

0

Вы можете попробовать это, если класс статей не имеет ассоциации/свойство навигации:

Articles(idArticle, nameArticle, statusArticle, idSubject) 
    Subjects(idSubject,nameSubject) 

    Articles firstArticle = db.Articles.FirstOrDefault(u => u.statusArticle == false); 
    if (firstArticle != null) 
    { 
     textBox1.Text = firstArticle.nameArticle; 
     Subject subject = db.Subjects.FirstOrDefault(s => s.idSubject == firstArticle.idSubject); 
     textBox2.Text = (subject != null) ? subject.nameSubject : string.Empty; 
    } 
Смежные вопросы