2012-06-12 1 views
0

Я новичок в nHibernate. У меня есть метод, который получает список отключенных сущностей nHibernate. В каждом объекте у меня есть первичный ключ (первичный ключ всегда является полем Id, которое является int).Присоединение отключенного объекта nHibernate к сеансу и чтение из базы данных

На данный момент я пытаюсь подключиться к базе данных и заполнить каждую сущность своими значениями для этого первичного ключа. Я использую плавные сопоставления.

Я не уверен, но можно ли привязать объект к сеансу/соединению, а некоторые - как получить данные на основе идентификатора в целом?

Редактировать: Более конкретная информация.

У меня есть несколько объектов nhibernate (например, User, Account), которые наследуются от базового класса (например, EntityBase). Этот базовый класс содержит общий первичный ключ.

Я передаю список этих объектов с заполненным первичным ключом.

public void RetrieveEntities(List<EntityBase> entities) 

На данный момент я хотел бы пройти через эти сущности и получить полный объект из источника данных. Возможно ли, или это приближается к этому с неправильного пути?

Если возникнут какие-либо вопросы, пожалуйста, оставьте комментарий. Приветствия.

ответ

1

Используйте .Merge, это возвращает прикрепленную версию вашего переданного в Entity.

Что-то вроде:

List<EntityBase> attachedEntities = new List<EntityBase>(); 

foreach(EntityBase entity in entities) 
{ 
    attachedEntities.Add(session.Merge(entity)); 
} 
+0

Это потребует что-то вроде session.merge (т), но как установить ими программным типа, т.е. T. Я могу иметь различные объекты в списке, используя ситуацию Я описал выше. –

+0

Я думаю, мне нужно будет увидеть фрагмент кода, которого я боюсь. –

+0

Я добавил еще более конкретную информацию, может быть, этого достаточно? –

Смежные вопросы