XAML выдает ошибку сбоя загрузки - PullRequest
2 голосов
/ 29 марта 2012

Я работаю над проектом, в котором мы используем EF для доступа к данным и WPF и MVVM для пользовательского интерфейса.

Я связываю модель представления с контекстом данных окна. Эта модель представления имеет конструктор по умолчанию, определенный следующим образом:

 public KonumVM()
    {
        LocationOperations = new LocationOperations();
        LocationNames = new ObservableCollection<string>();
        Corporations= new ObservableCollection<Kurum>();
        //Corporations= LocationOperations.GetCorpValues();

        //foreach (var corp in Corporations)
        //{
        //    LocationNames.Add(corp.Name);
        //}
    }

В закомментированных строках я запрашиваю базу данных. Если строки не комментируются, когда я пытаюсь редактировать код XAML окна, связывающегося с этой моделью представления, я получаю исключение, я думаю, что это сбой загрузки XAML, который блокирует конструктор. Исключение находится в конце сообщения. Когда я комментирую строки запросов к базе данных, с дизайнером все в порядке, без исключений.

Что мне делать? Должен ли я переместить код доступа к базе данных в другое место, кроме конструктора по умолчанию?

Невозможно открыть базу данных "DemirbaşEntityLibrary.DemirbaşContext" запрошено по логину. Ошибка входа Ошибка входа для пользователя 'Rfid \ Mert'.
в System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) в System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) в System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory) в System.Data.SqlClient.SqlConnection.Open () в System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf (Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String trytedOperation, Boolean & closeStoreConnectionOnFailure)

Ответы [ 2 ]

0 голосов
/ 04 мая 2012

Решение пришло, перенеся мой код привязки контекста в файл с выделенным кодом, поэтому парсер XAML не пытается получить доступ к БД во время разработки пользовательского интерфейса.

this.DataContext = new MyViewModel();

Если вам не нравится подход с выделенным кодом (по какой-то причине), вы можете переместить его обратно в код XAML после завершения разработки пользовательского интерфейса.

0 голосов
/ 29 марта 2012

Просмотрите строку подключения, используемую для подключения базы данных.Если вы используете базу данных MSSQL для своего веб-сайта, обратитесь к примеру строки подключения, приведенной ниже:

где Data Source = xxxx;= IP-адрес сервера Начальный каталог = xxxxxx = имя базы данных ID пользователя = xxxxxx = имя пользователя базы данных Password = # xxxxx # "= пароль базы данных

Убедитесь, что вы можете подключиться к SQLServer Management Studio удаленно с данными базы данных (имя пользователя и пароль).

Если вы не можете подключиться к базе данных с именем пользователя и паролем, которые вы использовали в строке подключения, попробуйте сбросить парольпользователя базы данных и попытайтесь подключиться к нему. Это решит проблему ...

Вы также можете посмотреть следующую ссылку, которая может вам помочь: http://blog.sqlauthority.com/2009/08/20/sql-server-fix-error-cannot-open-database-requested-by-the-login-the-login-failed-login-failed-for-user-nt-authoritynetwork-service/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...