Visual Studio: как обновить метаданные для Linq в Sql / Entity Framework - PullRequest
2 голосов
/ 16 сентября 2010

У меня есть представление, что я пытался сопоставить либо в рамках структуры лица или LINQ для SQL.Однако при запросе к представлению он просто ужасно падает (именно это представление).

Поскольку сообщение об ошибке является полностью общим, я подумал, что просто разделю и покорю, и удалим половину столбцов в моем представлении (в sqlсервер), а затем обновить DataClasses ... однако при компиляции я получаю сообщение об ошибке:

The associated metadata type for type 'test' contains the following unknown properties or fields

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

Как я могу обновить метаданные?

1 Ответ

1 голос
/ 16 сентября 2010

Если вы перетаскиваете объекты БД из проводника сервера в конструктор L2S, возникает ошибка, из-за которой она кэширует информацию о схеме после первого раунда.Если вы вносите изменения в схему и хотите перетащить тот же объект, вам необходимо отключить и снова подключить обозреватель серверов или перезапустить Visual Studio, чтобы он запросил базу данных для получения информации о схеме.

EF "модель обновленияиз базы данных "не должен страдать от кэширования, но вместо этого у него есть другая проблема, где он будет обновлять только часть SSDL модели EF, оставляя ранее отображенные объекты / столбцы / и т. д. в CSDL на месте, где они становятся осиротевшими и могут вызвать модельошибки проверки, которые необходимо устранить вручную или с помощью сторонних инструментов.

Обе проблемы решаются различными сторонними инструментами, список или сторонние инструменты для L2S и / или EF см.
http://www.thinqlinq.com/default/LINQ-Tools.aspx
http://damieng.com/blog/2009/06/04/linq-to-sql-resources

Одним из инструментов, решающих обе вышеупомянутые проблемы, является моя надстройка для Visual Studio, инструменты Huagati DBML / EDMX.Если вы хотите попробовать его, вы можете скачать его и получить пробную лицензию от http://huagati.com/dbmltools/

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