| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Базы данных под .NET > Entity Frmaework & runtime casting |
| Автор: Kefir 29.8.2010, 19:09 | ||||
Вечер добрый. Надеюсь, что среди нас есть спецы по EF. Итак, суть такова - есть EF модель, POCO, Proxies, все дела. А есть контрол, который умеет следить за состоянием коллексии через ифейс INotifyCollectionChanged. Так вот суть дела такая - привязка к коллекции происходит так:
С обычными коллекциями (к примеру ObservableCollection) это прекрасно работает. Только вот когда доходит дело до навигационных свойств обьектов EF преобразование типов не помогает. То биш возвращает null. То есть в модели, где есть свойство:
Преобразование его в рантайме даст null. А должно быть валидным, ибо прокси преобразуют это дело в EntityCollection. В рантайме я уже исследовал тип вдоль и поперёк - вроде должно быть всё правильно, но не работает. Пока нашел вариант подписки на события самого EntityCollection через dynamic, но это как-то похоже на хак - приходится вязаться и с INotifyCollectionChanged и с EntityCollection. Вопрос - собстна кто-нибудь может мне объяснить такое странное поведение и как таки можно преобразовать это дело нормальным образом? Ведь если dynamic спокойненько позволяет привязать к EntityCollection, то и обычное приведение типов должно сработать... |