2014-10-02 3 views
0

저는 mvc.에 익숙하지 않습니다. 이전 엔 엔티티 framewok로 코딩하는 데 익숙했지만 쉽게 할 수 있습니다.하지만 다른 것들을해야합니다. 튜토리얼을 보았지만 아주 잘 이해할 수 없으며 그들은 나의 필요를 충당하지 못합니다. Visual Studio를 연결하고 Oracle Data Provider에서 .net을 사용하여 oracle 12c에서 데이터를 성공적으로 가져 왔습니다. 엔티티 프레임 워크를 사용하는 것이 아닙니다. 코드는 위에 있습니다.오라클 데이터베이스에서 가져온 모델에 데이터를 바인딩하는 방법

string constr = "Data Source=localhost/orcl;User Id=HOSPITAL;Password=HOSPITAL;"; 
OracleConnection conn = new OracleConnection(); 
OracleCommand cmd; 
OracleDataAdapter da; 
conn.ConnectionString = constr; 
OracleCommandBuilder cb; 
DataSet ds;  
conn.Open(); 

string sql = "Select * from BABY 
IDENTITY.FIRSTNAME,IDENTITY.LASTNAME,IDENTITY.MOTHERNAME,IDENTITY.FATHERNAME, 
IDENTITY.BIRTHDAY,IDENTITY.GENDER,BABY.WEIGHT,BABY.HEIGHT FROM BABY 
INNER JOIN IDENTITY ON BABY.FILE_NO=IDENTITY.FILE_NO"; 

cmd = new OracleCommand(sql, conn); 
cmd.CommandType = CommandType.Text; 

da = new OracleDataAdapter(cmd); 
cb = new OracleCommandBuilder(da); 
ds = new DataSet(); 

da.Fill(ds); 

conn.Close(); 

이 데이터를 모델에 바인딩하고 표시 할 수 있습니다. 내 모델은 다음과 같습니다.

public class Baby 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public DateTime Birthday { get; set; } 
    public string FatherName { get; set; } 
    public string MotherName { get; set; } 
    public string Gender { get; set; } 
    public int Height { get; set; } 
    public int Weight { get; set; } 

} 

데이터 세트를 내 모델에 바인드하려면 어떻게해야합니까? 또는 내 쿼리 결과를 내 모델에 어떻게 직접 바인딩 할 수 있습니까?

답변

1

엔티티 프레임 워크는 오라클과 함께 사용할 수 있습니다 http://download.oracle.com/oll/obe/EntityFrameworkOBE/EntityFrameworkOBE.htm

당신의에게 데이터 테이블 등의 모든 모델 속성 설정 어댑터 사용할 수

:

var dt = new DataTable(); 
dt = ds.Tables[0]; 
IList<Baby> Babies = new List<Baby>(); 
foreach(DataRow dr in dt.Rows) 
{ 
var baby= new Baby(); 
baby.FirstName = dr["Baby firstname column name from db"].ToString(); 
baby.Weight= (int)dr["Baby weight column name from db"]; 

Babies.Add(baby); 
} 

또는 경우에 당신을 위해이 작업을 수행 할 Automapper를 사용을 당신은 많은 코드를 왼손 코드로 넘겨주고 싶지 않습니다. Using AutoMapper with DataTable with missing columns http://automapper.org/

+0

테이블에서 기본 키가 필요하지만 엔티티 프레임 워크가없고 테이블 디자인을 변경할 수 없으므로 엔티티 프레임 워크를 사용할 수 없습니다. – Trinity

+0

오, 오케이. U는 두 번째 방법을 사용할 수 있습니다. – iceburg

+0

답장을 보내 주셔서 감사합니다. – Trinity

관련 문제