2014-08-31 105 views
1

首先,我想告诉你,我是OOP概念的新手,但为了生存到这个OOP世界,我喜欢学习这一点:)。 所以,我只是有一个项目,数据录入asp.net web窗体应用程序。我想分开这个应用程序在3层(第一次)。 我有我的数据库到位,现在我让我的dto's为了交换图层之间的对象状态。 我不知道如何代表我的类中的查找表值! 比方说,我有如下表: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;} 
} 

编辑:改变了二传手条款给予正确的语法

而且你可以参考Patient.MyState.Statename例如以获得所需的信息。

祝你好运!

+0

谢谢你的回答!所以在我的状态类中,我需要一个方法(构造函数),以这种方式重新初始化状态名Patient.MyState = new State(Patient.StateID);? Rememer我是OOP的新手! – gligom 2014-09-02 16:58:43

+0

@gligom当您按照我的建议定义Patient类时,状态将在您实例化Patient时进行实例化。只要尝试这个构造和步骤,即使代码。你会看到它发生。 (如果适用,请将我的答案标记为正确) – 2014-09-02 22:32:12