У меня проблема с операциями CRUD в трех классах
Мои классы:
public class A
{
public virtual int Id { gry; set;}
public virtual string Text { gry; set;}
public virtual IList<B> Bs { gry; set;}
}
public class B
{
public virtual int Id { gry; set;}
public virtual string Text { gry; set;}
public virtual A A { get; set; }
public virtual C C { gry; set; }
}
И
public class C
{
public virtual int Id { gry; set; }
public virtual string Something { gry; set; }
}
Я использую Fluent NHibernate и Fluent Migrator.
У меня проблема с правильной настройкой этих инструментов.Когда я хочу сохранить новый объект в базе данных, я должен выполнить операции Save в соответствующем порядке - сначала над объектами C, затем поместить их в объекты класса B и только затем добавить созданные элементы в список переменных в классеА и я их сохраняю.
Я просто хотел бы сохранить объект класса А в базе данных и на игровом автомате его детей.У меня тоже такая же проблема при удалении из базы.Я создал свой собственный класс HasManyConvention с каскадом AllDeleteOrphan, и это не помогло.Я добавил к патчу создание таблицы B в базе данных в Fluent Migrator с Rule.Cascade на FK, и в случае непосредственного удаления объектов класса A, B также удаляются из базы данных, но C уже оставлены.