«По крайней мере один SSDL-артефакт необходим для создания StoreItemCollection» Ошибка с Entity Framework - PullRequest
0 голосов
/ 19 января 2010

Недавно я получил эту ошибку в моем проекте ASP.NET MVC, который использует Entity Framework:

Для создания StoreItemCollection требуется как минимум один SSDL-артефакт

Ошибка возникает при попытке запроса базы данных в действии контроллера. Кто-нибудь видел эту ошибку раньше? Это происходит только время от времени для меня, но я ищу способы решить эту проблему.

РЕДАКТИРОВАТЬ: я использую Visual Studio 2008 SP1, поэтому версия Entity Framework должна быть версии 1. Я также попытался восстановить файл EDMX, который не помог.

Ответы [ 2 ]

1 голос
/ 20 января 2010

Я полагаю, что проблема была вызвана шаблоном, который я использовал с моим ObjectContext.Я использовал Singleton, который не очень хорошо подходил для ASP.NET MVC.Я полагаю, что ObjectContext удалялся, когда я пытался использовать его снова, поэтому возникла ошибка.

Я перешел к более шаблону «ObjectContext Per Http Request», как описано в этого сообщения в блоге .Пока что это работает намного лучше.

0 голосов
/ 19 января 2010

Ну, SSDL является частью вашего EDMX. Он воссоздается с нуля, когда вы выполняете «Обновление модели из базы данных» в конструкторе графического интерфейса. Поэтому первое, что я бы сделал, если бы увидел это, - это подключился к БД с известной хорошей схемой и обновил модель.

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