나는 Datareader를 사용하여 SQL 데이터베이스에서 데이터를 검색하고 Datatable에 채 웁니다. 그러나 datatable을 사용하지 않고 데이터를 처리하는 방법이 있는지 궁금합니다. 나는 내가 여기에, 나는 데이터베이스 (큐브)에서 데이터를 끌어 ADOMD 객체를 사용하기 위하여려고하고 이후 LINQ를 사용하려는 해달라고 .. 더 바람직합니다 객체를 사용하여개체를 사용하여 데이터 검색기
를 테이블 값을 처리하지만, 평균 -.
나는 Datareader를 사용하여 SQL 데이터베이스에서 데이터를 검색하고 Datatable에 채 웁니다. 그러나 datatable을 사용하지 않고 데이터를 처리하는 방법이 있는지 궁금합니다. 나는 내가 여기에, 나는 데이터베이스 (큐브)에서 데이터를 끌어 ADOMD 객체를 사용하기 위하여려고하고 이후 LINQ를 사용하려는 해달라고 .. 더 바람직합니다 객체를 사용하여개체를 사용하여 데이터 검색기
를 테이블 값을 처리하지만, 평균 -.
dapper-dot-net을 살펴보십시오. ADOMD.NET과 함께 작동하는 방법을 잘 모르겠지만 동적 개체에서 쿼리 결과를 깔끔하게 구체화합니다.
항목을 반복하여 사용자 지정 클래스의 속성 값으로 설정하면됩니다. 아래 예제는 고객 테이블의 데이터를 읽고 고객 클래스 개체 목록을 만듭니다. 당신은 속성으로 ID와 이름을 가진 고객 POCO는 한 가정
List<Customer> custList= new List<Customer>();
string connString="yourConnectionStringHere";
using (var conn = new SqlConnection(connString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand())
{
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "SELECT ID,NAME From Customer";
using (var reader = cmd.ExecuteReader())
{
if (reader.HasRows)
{
while (reader.Read())
{
var cust= new Customer();
if (!reader.IsDBNull(reader.GetOrdinal("ID")))
cust.ID = reader.GetInt32(reader.GetOrdinal("ID"));
if (!reader.IsDBNull(reader.GetOrdinal("Name")))
cust.Name = reader.GetString(reader.GetOrdinal("Name"));
custList.Add(cust);
}
}
}
}
}
공개 목록 GetEmployee라는 (문자열 spname) {
con.Open();
cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = spname;
cmd.CommandType = CommandType.StoredProcedure;
reader = cmd.ExecuteReader();
List<EmployeeDetails> lstemp = new List<EmployeeDetails>();
while (reader.Read())
{
EmployeeDetails emp = new EmployeeDetails();
emp.EmployeeId =Convert.ToInt32(reader["EmployeeId"].ToString());
emp.FirstName = reader["FirstName"].ToString();
emp.LastName = reader["LastName"].ToString();
emp.DOB = Convert.ToDateTime(reader["DOB"].ToString());
emp.Gender = Convert.ToInt32(reader["Gender"].ToString());
emp.QName = reader["QName"].ToString();
emp.Dname = reader["DName"].ToString();
emp.Email = reader["Email"].ToString();
lstemp.Add(emp);
}
return lstemp;
}