Я использую FluentNHibernate, и когда я делаю сообщение, эта ошибка возникает.Ошибка при использовании Merge() в NHibernate: другой объект с тем же идентификатором
другой объект с тем же значением идентификатора уже , связанный с сеансом
Это мой контроллер:
private readonly ITicketAppService _ticketAppService;
public TicketController()
{
ITicketAppService ticketAppService = new TicketAppService(new TicketService(new TicketRepository(), new RomaneioCodRepository(), new ParamGerarMZRepository()));
}
public ResponseApi Post(Ticket ticket)
{
var result = new ResponseApi();
try{
//my code goes here
//my code goes here
//my code goes here
_ticketAppService.Add(ticket);
_ticketAppService.Commit();
result.DocsSaved.AddRange(ticket.ROMANEIOs);
}
catch (Exception ex)
{
_ticketAppService.RollBack();
result.Errors.Add(new Erro(ex));
}
return result;
}
И это мой Добавить на RepositoryBase:
public virtual void Add(TEntity obj)
{
try
{
BeginTrasaction();
Db.Merge(obj);
}
catch (Exception ex)
{
Log.ErrorFormat("Erro ao tentar adicionar alterações. Detalhes: {0}", ex);
throw new Exception("Erro ao tentar adicionar registro.", ex);
}
}
Все вопросы, как я вижу sayed для использования Merge(), потому что NHibernate пытается сохранить один идентификатор от пользователя, как это уже было в сеансе, но я получил ту же ошибку, используя Merge(). И я также использую сеанс за запрос. И я попробовал сделать то же самое на этом documentation. Кто-то знает, как я могу это исправить?
Куда я из разных мест? Потому что я получаю прямо от моего paramether в должности. Я думаю, что я понял эту статью, но я также попытался сделать save, saveorupdate, и я спросил с Merge(), почему каждый из них сказал, что использует Merge, и это решит. –
Это может быть проблема, проверьте, загружается ли ваше приложение более одного раза с той же скоростью, что и отслеживание запросов, генерируемых nhibernate? – Najera