powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate свой тип коллекции
8 сообщений из 8, страница 1 из 1
NHibernate свой тип коллекции
    #37621518
GFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Имеется NHibernate 3.1
Хочется заюзать свой тип коллекции, который наследуется от BindingList<T>.
При попытке загрузить данные получаю ошибку:
Custom type does not implement UserCollectionType...
В инете есть примеры где свой тип коллекции реализует этот интерфейс IUserCollectionType и ObservableList<T>,
но эти примеры для WPF :( а мне нужно для winforms.

Как мне реализовать такую коллекцию?
Можете ссылки скинуть?

Спасибо
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37622326
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GFX,

Чем принципиально коллекция для винформс отличается от коллекции для WPF?
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37622854
GFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorGFX,

Чем принципиально коллекция для винформс отличается от коллекции для WPF?

В winforms используются BindingList<T> для того чтобы коллекцию забиндить в тот же DataGridView
а в wpf используется ObservableList<T>.

З.Ы. EF 4.1 умеет мапить не только в IList<T> но и в собственно-реализованные коллекции.
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37622933
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GFX,

Раз вы нашли, как работать с WPF, то для WinForms аналогчино. Реализуете свою свою CollectionTypeFactory, свои типы для Bag, Set и лист, в который реализуете интерфейс IBindingList, IRaiseItemChangedEvents, как это делает сам BindingList<T>:

Код: c#
1.
public class BindingList<T> : Collection<T>, IBindingList, IList, ICollection, IEnumerable, ICancelAddNew, IRaiseItemChangedEvents


И вся проблема.
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37622955
GFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtorGFX,

Раз вы нашли, как работать с WPF, то для WinForms аналогчино. Реализуете свою свою CollectionTypeFactory, свои типы для Bag, Set и лист, в который реализуете интерфейс IBindingList, IRaiseItemChangedEvents, как это делает сам BindingList<T>:

Код: c#
1.
public class BindingList<T> : Collection<T>, IBindingList, IList, ICollection, IEnumerable, ICancelAddNew, IRaiseItemChangedEvents


И вся проблема.

Ура! значит это можно сделать. Вы меня обнадежили :)

Итак у меня есть свой лист MyBindingListView<T> : BindingList<T>, IBindingListView, IRaiseItemChangedEvents(который умеет сортироваться, поиск, а так же хранить удаленные айтемы)
Теперь мне нужен свой наследник от Bag и еще один наследник от Set?
Что из вышеперечисленного должно реализовывать IUserCollectionType?
Что такое CollectionTypeFactory?

Заранее спасибо за ответ.

Сильно не ругайтесь(за глупые вопросы), сегодня второй день, как юзаю NHibernate 3.
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37623008
SolYUtor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GFXТеперь мне нужен свой наследник от Bag и еще один наследник от Set?
Да. И от листа тоже, т.к. перечисленные мною Bag, Set и List - это специальные коллекции Nhibernate, которые отслеживают изменения.
GFXЧто из вышеперечисленного должно реализовывать IUserCollectionType?
Это три отдельных класса, которые вам надо отнаследовать от CollectionType. Это часть системы типов NHibernate, которые он использует для сохранения и восстановления объектов.
GFXЧто такое CollectionTypeFactory?
Это класс, который NHibernate использует для создания экземляров. коллекций.

Законченный пример для wpf . Вам надо тоже самое, только реализовать в коллекциях IBindingList.
...
Рейтинг: 0 / 0
NHibernate свой тип коллекции
    #37624810
GFX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SolYUtor,

Спасибо огромное!
Попробую реализовать для винформс.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
NHibernate свой тип коллекции
    #38249406
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем преимущество по сравнению, с использованием BindingSource?

т.е., например:
Grid->BindingSource->IList из родной NH коллекции?
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / NHibernate свой тип коллекции
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]