Свойства частичного класса не отображаются в окне «Источники данных»!

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

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

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


person Tim Murphy    schedule 05.11.2008    source источник


Ответы (1)


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

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

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

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

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

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

все сделано

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

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

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

person SpooykLuke    schedule 12.04.2010