2011-04-10 3 views
1

DB의 테이블에서 값 목록을 가져 와서 확인란 목록에 바인딩하는 다음 샘플 코드가 있습니다.엔티티를 문자열 이름으로로드 할 수 있습니까?

var db = new DBContext();  
db.Entity1.ToList().ForEach(
x => CheckBoxList1.Items.Add(new ListItem(x.Value, x.ID)); 

나는 약 10 개의 체크 박스 목록을 가지고 있으며 코드를 반복하고 싶지 않습니다. 나는 그것의 방법을 추출하고 모든 확인란에 사용하려고합니다. 엔티티를 문자열 이름으로로드 할 수 있습니까? 비슷한 것 -

db. 로드 ("Entity1") ToList()를 ForEach ...

그래서 내가 엔티티 이름과 체크 박스 목록에 전달하고 방법에 foreach 루프를하고 다음과 같이 항목을 바인딩 할 수 있습니다 -..

void BindValues(string entityName, CheckBoxList checkBoxList) 
{ 
    db.Load("Entity1").ToList().ForEach(
    x => checkBoxList.Items.Add(new ListItem(x.Value, x.ID))); 
} 

감사합니다.

답변

0

DbContext는 .Set() 또는 .Set (Type) 메서드를 노출하여 테이블에서 핸들을 가져옵니다. 따라서 스트레이트 EF가 동일하게 노출된다고 가정하면 스트링이 아닌 엔티티 유형을 통해 목록에 액세스하게되어 행복 할 것입니다.

관련 문제