0
내가 사소한 두 개의 엔티티에 대한 매핑이 : 설문 조사와 POLLOPTION을자 NHibernate와 hasMany의 매핑
설문 조사 :
public class PollMap : ClassMap<Poll>
{
public PollMap() {
Id(x => x.Id);
Map(x => x.Content);
HasMany(x => x.PollOptions).Cascade.All();
}
}
POLLOPTION : 테스트 코드 메신저에서
public class PollOptionMap : ClassMap<PollOption>
{
public PollOptionMap() {
Id(x => x.Id);
Map(x => x.Content);
References(x => x.Poll);
}
}
가 시도 폴링 엔티티의 첫 번째 폴링 제거
테스트 코드 :
[Transaction]
public ActionResult Add() {
var poll = new Poll() {
Content = "poll",
PollOptions = new List<PollOption>() {
new PollOption(){
Content="PollOption#1"
},
new PollOption(){
Content="PollOption#2"
}
}
};
GetSession.Save(poll);
return Content("Added");
}
[Transaction]
public ActionResult Removed() {
var poll = GetSession.Query<Poll>().FirstOrDefault();
poll.PollOptions.RemoveAt(0);
GetSession.Update(poll);
return Content("Updated");
}
가 제거 작업을 대신 내 외래 키 :(
PS에 널 (null)을 설정 DB에서 POLLOPTION을 삭제하지졌습니다. Google은 도움 안됨
아니요 : cascade = "all-delete-orphan"이 포함 된 컬렉션은 더 이상 소유 엔터티 인스턴스에 의해 참조되지 않았습니다. – Sasha
@msony 어떤 오류가 발생합니까? –
어쨌든 부모님과 키가 연결되어 있지 않은 것처럼 보입니다 – Sasha