Re[3]: NHibernate и many-to-one вопрос
От: achmed Удмуртия https://www.linkedin.com/in/nail-achmedzhanov-9907188/
Дата: 26.01.08 13:12
Оценка:
Здравствуйте, xander.od, Вы писали:

Мне не понятен другой момент:

XO>
XO>ISessionFactory factory = cfg.BuildSessionFactory();
XO>ISession session = factory.OpenSession();

XO>Student newStud = new Student();
XO>newStud.name = "Vasya Pupkin";
XO>newStud.group.name = "Group#1"
XO>session.Save(newStud);

XO>session.Close();
XO>


XO> Такой код как я понимаю запишет студента и группу в таблицы. Но как мне избежать записи группы? Т.е как указать hibernate'у, что записать надо только студента, и в эту же запись студента вставить только ссылку на уже существующую в базе запись группы без создания новой? Группы должны изменяться отдельно, а не при создании записи студента. Is it possible?


Нужно загрузить существующую группу и присвоить ее в поле group

int grupIdFromUI = ....

Group group = session.Load<Group>(grupidFromUI);
Student newStud = new Student();
newStud.name = "Vasya Pupkin";
newStud.group = group;
session.Save(newStud);

session.Close();
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.