【问题标题】:Relationships and Lazy Loading in SubSonic 3.0SubSonic 3.0 中的关系和延迟加载
【发布时间】:2010-11-10 00:35:32
【问题描述】:

我目前正在使用 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; }
}

如您所见,Posting 有一个评论列表。我能以某种方式告诉 SubSonic 这两者是相关的吗?那就是我保存帖子时可以自动保存所有评论?更重要的是,当我加载帖子时,我希望评论列表一开始是空的,然后在某个时候说“好的,请现在填充它”。

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

【问题讨论】:

    标签: .net orm subsonic subsonic3


    【解决方案1】:

    稀疏?你读过吗?

    ActiveRecord 可以根据 FK 确定您的关系(Linq 模板也可以),并将使用 IQueryable。因此,您可以两全其美 - 如果您需要它们,它们就在那里。

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

    【讨论】:

    • Hey Rob... 但是您是否应该有一个带有 Active Record 解决方案的 CommentID(在您的班级中有一个实际的 FK),或者是否可以为关系使用 Comment 类型的属性?
    • 嗨,我查看了 SubSonic 上的“文档”部分,其中有 subsonicproject.com/docs/Using_ActiveRecord - 也许我不够清楚:ActiveRecord 可以为我创建我的架构吗?还是我手动创建它,然后 AR 会自动使用 FK?
    • 您手动创建它,然后 SubSonic 将自动生成对象并使用 FK
    • 是的 - AR 从数据库中工作,SimpleRepo 以另一种方式工作。
    【解决方案2】:

    即使您使用的是 Simple Repo,也有一个简单的外键管理选项。详情请查看this post

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-11
      • 2019-10-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多