SQL Entity Framework SP2 CU2 Entity Framework Проблема - PullRequest
2 голосов
/ 08 апреля 2011

Недавно мы перешли от использования SQL CE 3.5 SP2 RTM (версия файла 3.5.8080) к накопительному обновлению 2 (3.5.8082) и начали сталкиваться с проблемой, когда Entity Framework (из .NET 3.5) не может загрузить систему.Data.SqlServerCe.Entity.dll.

Ошибка, которую мы получаем:

System.Data.MetadataException: указанная схема недопустима.Ошибки: MyData.ssdl (2,117): ошибка 0004: не удалось загрузить System.Data.SqlServerCe.Entity.dll.Переустановите SQL Server Compact.

Я не уверен относительно того, как структура сущностей определяет, какой поставщик Entity Framework загрузить на основе поставщика ADO.NET.Один интересный момент заключается в том, что версия сборки для CU2-копии System.Data.SqlServerCe.dll - 3.5.1.0 (без изменений в RTM), а версия сборки для System.Data.SqlServerCe.Entity.dll - 3.5.1.5.Я не знаю, в этом ли проблема, но это кажется странным.

Строка, на которую ссылается файл SSDL, - это строка, в которой указан поставщик ADO.NET (System.Data.SqlServerCe).Я не вижу ссылки на провайдера EF.

Если я просто заменю System.Data.SqlServerCe.Entity.dll версией из RTM, все снова начнет работать.Однако меня это беспокоит, так как есть вероятные изменения, которые мне нужны от CU2, которые я не получу.

Идеи?

Ответы [ 2 ]

1 голос
/ 08 апреля 2011

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

Я нашел этот великолепный обзор того, как именно работает частная установка SQL CE Имеет смысл, и это решило все мои проблемы:

http://www.codeproject.com/KB/database/SQLCEPrivateInstallation.aspx

Я также написал сообщение в блоге об этой проблеме: http://www.robertdowney.com/post/2011/04/13/Trials-and-Tribulations-with-SQL-Server-Compact-Edition.aspx

0 голосов
/ 08 апреля 2011

Я сомневаюсь, что есть какие-либо изменения, вы можете использовать Reflector / WinMerge, чтобы узнать. Но это звучит как ошибка. Вы можете поделиться своим app.config? Возможно, проблемы с перенаправлением привязки были решены без уведомления.

...