SubSonic 3.0中的关系和延迟加载

时间:2009-07-11 21:33:49

标签: .net orm subsonic subsonic3

我现在正在玩SubSonic 3.0,它看起来非常简单(除了我还需要在SimpleRepository和ActiveRecord之间做出决定,但这是另一个故事)。

但是,由于文档有点稀疏,我不确定它是否支持外来关系和延迟加载。基本上,我有一个课程发布:

public class Posting {
    [SubSonicPrimaryKey]
    public Guid InternalId { get; set; }
    public string Title { get; set; }
    public string Body { get; set; }
    public DateTime? PostingDate { get; set; }
    public List<Comment> Comments { get; set; }
}

和一个评论:

public class Comment
{
    public string Body { get; set; }
}

如您所见,发布有一个评论列表。我能以某种方式告诉SubSonic这两者是否相关?那就是我保存帖子时可以自动保存所有评论?更重要的是,当我加载一个帖子时,我希望评论列表最初是空的,并且在某些时候说“好的,请立即填充它”。

我知道我可以在Code中手动管理它,但我想知道SubSonic是否可以在我做手动工作之前做到这一点。

2 个答案:

答案 0 :(得分:4)

稀疏?你读过它们了吗?

ActiveRecord可以根据FK确定您的关系(Linq模板也可以),并使用IQueryable。因此,您可以充分利用这两个世界 - 如果您需要它们,它们就会存在。

如果你使用Simple Repo - no - 这不会发生,而且都是手动的。

答案 1 :(得分:3)

即使您使用简单回购,也可以使用简单的外键管理选项。查看this post了解详细信息。