WPF designer не загружается при привязке источника данных из entity framework

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

Вопрос

Редактировать: Я отправил отчет об ошибке, и Microsoft подтвердила, что это ошибка.В настоящее время нет расчетного времени на то, когда это будет исправлено.

Отчет об ошибке: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx ?Идентификатор обратной связи=386982

Официальный Отзыв: http://social.msdn.microsoft.com/Forums/en-US/vswpfdesigner/thread/ca3cac55-c1de-4e65-9543-e95484ad78c5/

У меня есть решение, структурированное следующим образом.

  • Проект Entity framework project
  • Проект по доступу к данным
  • Проект приложения WPF

Приложение WPF вызывает методы в проекте доступа к данным, который получает свои данные из проекта entity framework и привязывает их к 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"

У меня есть следующая строка подключения в App.config проекта WPF и проекта доступа к данным

<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, 32-разрядную Vista

Это было полезно?

Решение

Да, это отстой.Мне уже приходилось сталкиваться с этим раньше.Лучшее, что вы можете сделать, это заставить вашу функцию контроллера возвращать поддельные данные в режиме конструктора.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top