1
를 세척하기 전에 transient 인스턴스를 저장합니다NHibernate에 - 객체 참조 저장되지 않은 과도 인스턴스 - 나는 다음과 같은 오류를 받고 있어요
object references an unsaved transient instance - save the transient instance before flushing
내가 과도 인스턴스를 저장하지을한다. ,
if (MyObject.IsValid()) {
MyObjectRepo.Hydrate(MyObject);
return Json(MyObject);
}
else {
Dictionary<string, string> test = new Dictionary<string, string>();
test.Add("failure", "failure");
foreach (var a in MyObject.ValidationResults().ToList()) {
test.Add(a.PropertyName, a.Message);
}
return Json(test);
개체가 유효하지 않은 경우 내가 테스트 사전 및 (그냥 다시 실패 문자열을 보내는 예를 들어) foreach 문이없는 : 나는 다시 클라이언트에 검증 결과를 보내려고 해요 잘 작동합니다. 이 질문에 대한 다른 모든 질문은 객체 저장 실패와 관련이 있습니다 ... 객체가 유효하지 않으며 저장하지 않으려는 경우 실패한 유효성 검사의 결과를 보냅니다. 감사!
당신은 Session 내에 있습니까? 그렇다면 트랜잭션을 수행하십시오 .RollBack()? – Goblin
아 그래, 나는 [Transaction] 주석이 달린 모든 메소드를 가지고있다 ... 나는 수동 트랜잭션을했을 때 성공했다. 오 고마워! –
@Goblin이 두 답변에 대한 귀하의 의견을 변경하여 사람들이 검색하는 데 더 유용 할 수 있습니까? – Bronumski