2014-08-31 3 views
1

Сначала я хочу сказать вам, что я новичок в концепции ООП, но мне нравится учиться этому, чтобы выжить в этом мире ООП :). Итак, у меня просто есть проект, приложение для ввода данных asp.net. Я хочу разделить это приложение на 3 слоя (в первый раз). У меня есть моя база данных на месте, теперь я делаю свое dto для обмена объектами между слоями. Я не знаю, как представлять значения таблиц поиска в моих классах ?! Скажем, у меня есть следующие таблицы:Таблица поиска OOP базы данных

Patient table 

PatientID int 
PatientName varchar 
PatientStateID int (fk States table) 

State table 

StateID int (pk) 
StateName varchar 

Теперь у меня есть пациенты класса DTO

public class Patient 
{ 
public int PatientID {get; set;} 
public string PatientName{get;set} 
// and now the problem 
How to represent State property? 
public int PatientStateID {get; set;} 
public string StateName {get; set} 
} 

Для этого я знаю, я я ХП в SQL, которые делают присоединиться и вернуть все необходимые данные. Но все в порядке? Или мне нужно делать классы для этих таблиц поиска?

Большое вам спасибо за помощь!

ответ

2

Вы можете обратиться к государству как так:

public class Patient 
{ 
    public string Name {get; set;} 
    public State MyState {get; set;} 
} 

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

И вы можете обратиться к Patient.MyState.Statename, например, чтобы получить нужную информацию.

Удачи вам!

+0

Спасибо за ваш ответ! Так что в моем классе State мне нужен метод (конструктор), который возвращает имя состояния инициализировать таким образом Patient.MyState = новое состояние (Patient.StateID) ;? Rememer, я новичок в ООП! – gligom

+0

@gligom Когда вы определяете класс пациента так, как я предложил, государство будет создано в момент, когда вы создадите экземпляр пациента. Просто попробуйте эту конструкцию annd step trhough code. Вы увидите, как это происходит. (Если применимо, пожалуйста, отметьте мой ответ как правильный) –

Смежные вопросы