2012-12-16 3 views
0

테이블 이름이 채워진 목록 상자가 있습니다. 목록 상자에서 행을 클릭하고 해당 테이블의 모든 레코드를 반환하고 DataGridview에 바인딩 할 수 있기를 원합니다. 좋은 옛날 방식의 SQL을 사용하면 이것은 하나의 케이크입니다. Entity Framework 4.3.1에서도 이와 동일한 작업을 시도하는 것이 또 다른 문제입니다.Entity Framework 변수를 통해 엔터티 가져 오기

예를 들어, 아래 코드에서 변수로 "get_picklist_names_v"를 나타내는 방법이 있습니까?

static class EfHelper 
{ 
    public static EfEntities CreateContext() 
    { 
     EfEntities context = new EfEntities(); 
     return context; 
    } 
} 

using (var context = EfHelper.CreateContext()) 
{ 
    IList list = context.get_picklist_names_v.ToList(); 

    lboPicklist.DataSource = list; 
    lboPicklist.DisplayMember = "name"; 
} 

답변

0

엔티티 프레임 워크 유형과 함께 SQL 물건 달마 티아 각 서버 풍미 (오라클, SQL 서버, MySQL은, 등) SQL을 작성하지 않도록 최선을 다하고 있습니다. 이것이 ORM이하는 것입니다 ...

generic 형식에 익숙하다면 Entity Framework에서도 마찬가지입니다.

그것은을 yor이 찾고 있지만, 어쩌면 당신이 followig 기사에서 몇 가지 힌트를 찾을 수 있습니다 정확히 아니다 :

Repository Pattern with Entity Framework

0

엔티티 프레임 워크는이를 달성하는 가장 좋은 도구가 아닙니다. Entity Sql을 시도해 볼 수는 있지만, 동적 인 방법으로이를 사용하려면 IEnumerable<DbDataRecord>에 결과를 캡처해야합니다. DataGridView에는 그와 같이 표시되지 않습니다.

TableAdapter 및 SQL 문으로 DataSet을 채우는 것보다 더 편리한 것은 없습니다. 내가 너라면 그걸 고수 할거야.

관련 문제