Предположим, у нас есть следующие объекты:
public class plaserv
{
public virtual int id { get; private set; }
[Required]
public virtual DateTime fecha { get; set; }
public virtual IList<plaattach> adjuntos { get; set; }
public plaserv()
{
adjuntos = new List<plaattach>();
}
}
public class plaattach
{
public virtual int id { get; set; }
public virtual plaserv plaserv { get; set; }
[Required, StringLength(500)]
public virtual string destination_name { get; set; }
}
У нас также есть несколько репозиториев, таких как:
public class PlaServRepository
{
private SessionHelper _sessionHelper;
public PlaServRepository(SessionHelper sessionHelper)
{
_sessionHelper = sessionHelper;
}
public void Delete(plaserv entity)
{
using (ITransaction transaction = _sessionHelper.Session.BeginTransaction())
{
_sessionHelper.Session.Delete(entity);
transaction.Commit();
}
}
.....
}
и
public class PlaAttachRepository
{
....
public void Delete(plaattach entity)
{
using (ITransaction transaction = _sessionHelper.Session.BeginTransaction())
{
_sessionHelper.Session.Delete(entity);
transaction.Commit();
}
}
}
Кроме того, модель была создана с использованием автоматического картирования, поскольку вы можете видеть связь между plaattach plaserv и «один ко многим». Теперь предположим, что я хочу удалить табличную строку, потому что при запуске _sessionHelper.Session.Delete (entity)
из хранилища PlaattachRepository не только удаленная строка PlaattachRepository в таблице, но и плоская строка в строке plaserv?
Надеюсь, правильно объясню