0

이제 막 Entity Framework 4.1 코드 우선에서 시작합니다. 나는 내 수업을 만들고 DbContext, 그리고 그들은 완벽하게 잘 작동합니다. 지금은 EntityDataSource의 도움으로 ListView를 내 엔터티에 바인딩하려고하지만 불행히도 사용 가능한 모든 연결 문자열을 인식하지 못합니다! 나는이 일을 위해 providerName도가 System.Data.EntityClient를해야합니다 생각하지만, 나는 다시 사용할 수있는 DbContext,에서 ObjectContext는 "적응"할 수 있다는 것을 읽고코드 첫 번째 엔터티 프레임 워크 4.1이있는 EntityDataSource

에 참조 할 구체적인 개체 모델을 ... 없다 ObjectDataSource을 만듭니다. 그러나 내 DbContext을 사용하여 ListView에 바인딩하고 싶습니다. 내가 이것을 할 수있는 방법이 있습니까?

+0

[EF 코드 첫 번째 DbContext를 Asp.Net DataSource에 바인딩하는 방법] 가능한 복제본 (영문) (http://stackoverflow.com/questions/6327937/how-to-bind-ef-code-first-dbcontext-to -an-asp-net-datasource) –

답변

0

질문을 이해하는 데 어려움이 있습니다 ... Context 클래스를 인스턴스화 할 때 연결 문자열을 지정하겠습니까?

당신은 코드 - 첫 번째 방법으로, 당신이 정말 슈퍼 고급 시나리오를 제외하고 ObjectContext는 필요하지 않습니다, 그리고

public MyContext(string connString) : base (connString) 
    { 
     Database.SetInitializer(... 
     ... 
    } 

처럼, 당신의 DbContext 클래스의 생성자의 과부하를 만들 수 있습니다

하고, 데이터 바인딩은 내가 생각하기에는 그들 중 하나가 아닙니다. 그런 다음이 참조되어 주어진, 해당 속성에 대한 귀하의 ListView에 바인딩 할 수 있습니다

public class MyViewModel 
{ 
    private MyContext _context; 
    public ObservableCollection<MyObject> MyObjects { get; set; } 

    public MyViewModel() 
    { 
     _context = new MyContext(); 
     MyObjects = new ObservableCollection<MyObject>(_context.MyObjects.ToList()); 
    } 
} 

처럼, 당신의 화면을 위해 설계된 뷰 모델 클래스에 대한 속성을 넣어, 사용자의 컨텍스트 클래스의 컬렉션에 바인딩에 도착합니다.

희망 하시겠습니까? 그렇지 않으면 세부 정보를 제공해주세요.