0
Castle ActiveRecord를 사용하여 데이터베이스 액세스를 재구성합니다. 나는 blog/post 예제를 통해 일이 어떻게 이루어지는 지에 대한 느낌을 갖기 위해 노력했지만, HasMany 속성에 관한 한 가지 필수적인 질문이 있습니다.성 ActiveRecord HasMany 속성
이클래스 블로그 :
[ActiveRecord]
public class Blog : ActiveRecordBase
{
private int id;
private IList posts = new ArrayList();
public Blog()
{
}
[PrimaryKey]
public int Id
{
get { return id; }
set { id = value; }
}
[HasMany(typeof(Post), Table="Posts", ColumnKey="blogid",
Inverse=true, Cascade=ManyRelationCascadeEnum.AllDeleteOrphan)]
public IList Posts
{
get { return posts; }
set { posts = value; }
}
}
클래스 포스트 : 지금 블로그를 작성하고이 블로그에 어떤 글을 추가 할 때
[ActiveRecord]
public class Post : ActiveRecordBase
{
private int id;
private String contents;
private Blog blog;
public Post()
{
}
[PrimaryKey]
public int Id
{
get { return id; }
set { id = value; }
}
[Property(ColumnType="StringClob")]
public String Contents
{
get { return contents; }
set { contents = value; }
}
[BelongsTo("blogid")]
public Blog Blog
{
get { return blog; }
set { blog = value; }
}
}
, 왜 Blog.Posts의 모음입니다 다음 예를 참조하십시오 자동 업데이트되지 않습니까? 이것은 코드입니다 :
using (new SessionScope())
{
Blog b = new Blog();
b.Save();
Post p = new Post();
p.Blog = b;
p.Save();
//Here, b.Posts is empty, but shouldn't it contain a reference to p?
}
이 동작을 방지하기 위해 수행 할 수있는 작업은 무엇입니까? 게시물을 수동으로 컬렉션에 추가해야합니까? 가장 좋은 방법은 무엇입니까?
TIA