내가 NHibernate에 매핑이이 삭제 방지 :자 NHibernate : Laziness.NoProxy 소프트
public AnswerSet_AnswerMap() {
Table("DB.AnswerSet_Answer");
Id(x => x.AnswerSet_AnswerId);
References(x => x.Answer, "BaseAnswerID").LazyLoad(Laziness.NoProxy);
References(x => x.AnswerSet, "AnswerSetID").Fetch.Join();
Map(x => x.Format);
}
그것은이 "AnswerSet"과 "대답"사이의 접합 테이블입니다. 응답 참조의 .LazyLoad (Laziness.NoProxy)는 애플리케이션에서 필요하지만 AnswerSet_Answer 객체가 데이터베이스에서 부드럽게 삭제되는 것을 방지합니다 (데이터베이스에 변경되지 않은 상태로 유지됨). 왜 이런 일이 일어나는 지 아는 사람이 있습니까?
"소프트 삭제"는 사용자가 실제로 행을 삭제하지 않고 "삭제됨"을 나타내는 열을 설정한다는 의미입니다. NHibernate는 당신을 위해 그것을하지 않습니다. 실제 삭제를 계단식으로하는 방법에 대해 묻고 있습니까? – dotjoe
나는 그렇게 생각한다. 내 실제 클래스는 그것을 삭제할 수있는 다른 클래스를 구현하므로 NHibernate 외부에 있다고 가정합니다. – Kuzay
* "응용 프로그램에서 응답 참조의 .LazyLoad (Laziness.NoProxy)가 필요합니다."* "이 유효성이있는 응용 프로그램을 아직 보지 못했습니다. –