WPF 디자이너는 엔티티 프레임 워크에서 데이터 소스를 바인딩 할 때로드되지 않습니다.

StackOverflow https://stackoverflow.com/questions/345947

문제

편집하다: 버그 보고서를 제출했으며 Microsoft는 그것이 버그임을 인정했습니다. 현재 고정 될 때 ETA가 없습니다.

버그 보고서 : https://connect.microsoft.com/visualstudio/feedback/viewfeedback.aspx?feedbackid=386982

공식 피드백 : http://social.msdn.microsoft.com/forums/en-us/vswpfdesigner/thread/ca3cac55-c1de-4e65-9543-e95484ad78c5/

다음과 같은 방식으로 구조화 된 솔루션이 있습니다.

  • 엔티티 프레임 워크 프로젝트
  • 데이터 액세스 프로젝트
  • WPF 응용 프로그램 프로젝트

WPF 애플리케이션은 데이터 액세스 프로젝트에서 메소드를 호출하여 엔티티 프레임 워크 프로젝트에서 데이터를 얻고 XAML에 바인딩합니다.

예를 들어

<UserControl.Resources>
      <ObjectDataProvider x:Key="tokens" 
                            ObjectType="{x:Type ctl:MerchantNetworkController}" 
                            MethodName="ListMerchantNetworkTokens" />
</UserControl.Resources>

제가 가진 문제는 데이터 액세스 프로젝트에서 기능을 호출 할 때 VS 2008 디자이너가로드하지 않지만 솔루션을 잘 컴파일하고 실행할 수 있다는 것입니다.

XAML 뒤의 코드에서 함수를 생성하고 데이터 액세스 프로젝트 대신에 사용하면 잘 작동하고 디자이너는 실제로로드됩니다. 데이터 액세스 프로젝트를 호출 할 때 문제가 발생합니다.

디자이너로부터 얻은 오류 메시지는입니다

"The specified named connection is either not found in the configuration, not intended to be used with the EntityClient provider, or not valid"

WPF 프로젝트의 app.config 및 데이터 액세스 프로젝트에 다음 연결 문자열이 있습니다.

<add name="Entities"
     connectionString="metadata=C:\EFModel\Model.csdl|C:\EFModel\Model.ssdl|C:\EFModel\Model.msl;
         provider=System.Data.SqlClient;
         provider connection string='Data Source=localhost;Initial Catalog=database;Persist Security Info=True;User ID=username;Password=password;MultipleActiveResultSets=True'"
         providerName="System.Data.EntityClient" />

VS 2008 SP1, .NET 3.5 SP1, Vista 32 비트를 사용하고 있습니다.

도움이 되었습니까?

해결책

예, 이건 짜증나. 나는 전에 이것을 다루어야했다. 당신이 할 수있는 가장 좋은 방법은 컨트롤러 기능이 디자인 시점에서 가짜 데이터를 반환하게하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top