EFCodeFirst CTP 5 не будет заполнять модель какими-либо записями, однако запросы выполняются нормально.

Я использую пакет EFCodeFirst с образцом приложения MVCMusicStore.

Все работало нормально, когда я использовал базу данных SQL Express. Однако после создания БД в SQL Server 2008 и обновления строки подключения все мои запросы возвращают 0 записей. SQL Profiler показывает, что запросы выполняются, и я могу скопировать запрос в SSMS, и он возвращает строки.

Вот запрос и моя строка подключения:

var жанры = storeDb.Genres.ToList(); (возвращает количество 0)

добавить имя = "MusicStoreEntities" connectionString = "Источник данных =.; начальный каталог = MvcMovieStore; встроенная безопасность = True; multipleactiveresultsets = True; App = EntityFramework" providerName = "System.Data.SqlClient"

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


person devnutmike    schedule 02.03.2011    source источник
comment
Итак, заполняется ли модель записями или нет - неясно, можете ли вы заполнять, но не читать, или ни заполнять, ни читать.   -  person GilShalit    schedule 02.03.2011


Ответы (2)


Если запрос выполняется в SSMS и возвращает строки, но в вашем приложении строки не возвращаются, возможно, ваше приложение не работает с тем же экземпляром БД. У меня была точно такая же ситуация при переходе с SQL CE на Express.

В итоге я подключился к БД из приложения, используя вкладку серверов, а затем скопировал строку подключения.

person GilShalit    schedule 02.03.2011
comment
У меня была опечатка в имени начального каталога строки подключения. Я предполагаю, что, поскольку соединение было успешным и запрос был выполнен, EF создал новую БД на лету, поскольку ее не существовало с таким именем? - person devnutmike; 02.03.2011
comment
Да, это то, что должно было произойти. Всё то закулисное добро иногда оборачивается и кусает тебя... - person GilShalit; 06.03.2011

Попробуйте ввести имя машины как для источника данных... Data Source=MYMACHINE

person abarr    schedule 02.03.2011