Re: Источник данных и partial class
От: Аноним  
Дата: 26.05.13 06:18
Оценка:
Здравствуйте, VCHS, Вы писали:

VCH>Всем привет. Не могу разобраться в следующей ситуации при работе с базами данных через EDM.

VCH>Есть классы объектов базы данных, созданные средой разработки и наследованные от EntityObject (EDM).
VCH>Все эти классы созданы средой как partial. На базе этих классов среда разработки прекрасно создает источники данных по свойствам этих классов. Но если я создам расширение для любого из этих классов пользуясь тем что класс partial (т.е. создам вторую половину этого partial класса) и определю в своей partial части некоторые свойства (public конечно), среда разработки при создании источника даннных из такого класса проигнорирует мою partial часть и снова создаст источник только по partial части сгенерированной средой.
Это естественно. Среда EDM ничего не знает (и не должна знать) о ваших partial.
И ни ей, ни вам, совершенно незачем заново генерить вручную однажды написанную часть partial-класса — она уже есть в проекте, среда будет ее учитывать и работать как с единым классом (при условии соблюдения требований к partial).
VCH>Если решения нет, то как можно вручную описать привязку такого расширенного partial класса к DataGridView ?
Не очень понятно, какие сложности у вас возникают.
ERM, как правило, создает для каждой сущности данных БД два класса: один описывает структуру записи, второй содержит список этих самых записей как свойство.
К гриду данные привязываются через wizard DataSource, где выбирается объект (в нашем случае — класс со списком записей) и указывается DataMember — то самое свойство, представляющее список записей. Все.
Если хочется присваивать источник вручную — просто присваиваете grid.DataSource тот этот самый список из объекта, созданного EDM.
Если вы структуру записей дополнили своими полями (через partial), то в гриде они появятся, но данные туда надо заносить самому, ибо EDM о них ничего не знает.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.