저는 Linq에 Entities에 비교적 새로 왔습니다만 좋은 진행을하고 있습니다. 내가 아직 파악할 수 없었던 한 가지 항목은 데이터베이스에서 열 이름을 추출하는 방법입니다. 예를 들어 아래의 코드에서 상수를 데이터베이스의 필드 이름으로 바꾸고 싶습니다.Linq to 엔티티 To 열 이름
나는 eleswhere가 작동하는 것을 보았지만 대답을 얻지 못했습니다.
도움이 될 것입니다. 행을 업데이트하는
var props = typeof(FMCSA_NPR).GetProperties();
foreach (var prop in props)
{
dtNPRS.Columns.Add(prop.Name, prop.PropertyType);
}
와 유사한 과정 :
밥
DataTable dtNPRS = new DataTable();
const string kInitDate = "NPR_Init_Date";
const string kActive = "Active";
const string kStatusId = "NPR_Status_Id";
try
{
DataRow drNPR;
var nprs = (from n in db.FMCSA_NPR
join u in db.FMCSA_USER on n.CREATED_BY equals u.ID
join t in db.LKUP_NPR_TYPE on n.NPR_TYPE_ID equals t.ID
join s in db.LKUP_AUDIT_STATUS on n.NPR_STATUS_ID equals s.ID
where n.ROLE_ID == pRoleId && n.OWNER_ID == pOwnerId
&& n.NPR_STATUS_ID == pNPRStatusId && n.ACTIVE == pActive
select n).ToList();
if (nprs.Count() == 0)
return null;
///build the table structure we need
dtNPRS.Columns.Add(kInitDate, typeof(DateTime));
dtNPRS.Columns.Add(kActive,typeof(bool));
dtNPRS.Columns.Add(kStatusId,typeof(Int32));
foreach (var npr in nprs)
{
drNPR = dtNPRS.NewRow();
drNPR[kInitDate] = npr.NPR_INIT_DATE;
drNPR[kActive] = npr.ACTIVE;
drNPR[kStatusId] = npr.NPR_STATUS_ID;
dtNPRS.Rows.Add(drNPR);
}
return dtNPRS;
}
** ** Entity Framework와 같은 ORM을 사용하여 데이터에 액세스하고 있지만 프로그램의 행/열로 다시 변환하는 이유는 무엇입니까 ?? 그것은 전혀 이해가되지 않습니다. ** ** 고전적인 ADO.NET을 유지하고 DataTable/DataRow, ** 또는 ** EF로 전환 한 다음 ** 객체 ** -를 사용하십시오. 행 및 열을 ... –