Свойства в частичном классе не отображаются в окне Источники данных! - PullRequest
3 голосов
/ 05 ноября 2008

Entity Framework создал необходимые частичные классы. Я могу добавить эти частичные классы в окно Источники данных, и свойства отобразятся, как и ожидалось. Однако если я расширяю какой-либо из классов в отдельном исходном файле, эти свойства не отображаются в окне Источники данных даже после сборки и обновления.

Все свойства в частичных классах в исходных файлах работают должным образом в окне Источники данных, кроме случаев, когда частичный класс был создан с помощью EF.

РЕДАКТИРОВАТЬ: После удаления таблицы с ошибками для дизайнера EDM, добавление обратно в нее все работы ожидаются. Вряд ли долгосрочное решение. Кто-нибудь еще сталкивался с подобной проблемой?

1 Ответ

2 голосов
/ 12 апреля 2010

Я использовал следующую работу вокруг:

Шаг 1 ... Создание необходимых проектов В вашем решении создайте два проекта: 1 - проект приложения (то есть приложение, с которым вы работаете, например, приложение Windows Form) 2 - проект слоя данных (проект библиотеки классов, который делает библиотеки DLL в качестве вывода сборки)

Шаг 2 ... Ссылка на проекты В проекте приложения добавьте ссылку на проект в проект слоя данных (ссылки - добавить ссылку - Project-Tab)

Шаг 3 ... Создать свойство в частичном классе В проекте datalayer: - добавить файл базы данных, если вы используете локальную базу данных - добавить новый элемент классов Linq to SQL (файл .dbml) - добавить нужные таблицы в конструктор лист из проводника сервера - щелкните правой кнопкой мыши один из классов в конструкторе и выберите «Просмотреть код» - вы попадете в файл с уже заполненной частичной информацией о классе. - сделать частичный класс публичным - создать свойство теста, например: общедоступная строка TEST { get {return "TEST";} } - построить проект слоя данных - вы добавили свойство в частичный класс одного из классов, созданных дизайнером ...

Шаг 4 - Добавить источники данных - в своем проекте приложения - перейдите на вкладку источников данных и добавьте новый источник данных объекта, выбрав класс, в который вы также добавили свойство частичного класса.

  • вы должны увидеть свойство TEST в представлении источников данных ...

все сделано

Я думаю, что это работает, потому что файл .dbml и частичный класс в отдельном проекте и доступ через DLL в проекте приложения ... заставляет Visual Studio компилировать и делает все доступным в проекте приложения ... в отличие в dll и отдельный временный файл, который, кажется, происходит, когда все находится в одном проекте, оставляя частичные свойства класса вне списка источников данных ..

плюс это не так уж и плохо .. наличие отдельного проекта для вашего уровня данных делает его многоразовым между проектами ..: D

надеюсь, у кого-нибудь это сработает ...

...