Допустим, у меня есть следующие объекты:
public class Order
{
public int OrderID {get;set;};
public int Version {get;set;};
public IList<OrderDetail> Details {get;set;}
}
public class OrderDetail
{
public int OrderDetailID {get;set;}
/// Some other properties
}
Когда я хочу удалить объект следующим образом:
Order order = new Order { OrderID = 9, Version =1 };
ITransaction tr = Session.BeginTransaction();
Session.Delete(order);
tr.Commit();
Хорошо, заказ удален, но детали все еще там с внешним ключом (OrderID), установленным в нуль,
но когда я пытаюсь удалить его, как это, он работал как ожидалось:
Order order = Session.Get<Order>(9);
ITransaction tr = Session.BeginTransaction();
Session.Delete(order);
tr.Commit();
Почему я должен получить всю сущность из базы данных, чтобы удалить ее?
Кстати: я попытался создать экземпляр Order и вручную заполнить информацию и подробную информацию, это также сработало
Разве я не могу сделать это настолько просто, насколько это возможно?