【问题标题】:Simple.Data Lazy Loading ErrorSimple.Data 延迟加载错误
【发布时间】:2012-02-01 15:00:18
【问题描述】:

我一直在玩 Simple.Data,但遇到了一些我无法理解的东西。

在我的数据中,我有三个表:Hotel、Project 和 ProjectMilestone。一个酒店可以有多个项目,一个项目可以有多个项目里程碑。我正在使用 SQL Server,并且这些表以标准方式通过外键关联。

使用 Simple.Data 时,以下代码将不起作用:

var db = Database.Open();
var hotels = db.Hotel.All().Take(100);

foreach (var hotel in hotels)
{
    foreach (var project in hotel.Project)
    {
        foreach (var projectMilestone in project.ProjectMilestone)
        {
            //Do something here
        }
    }
}

它抛出一个错误,上面写着:

“Simple.Data.SimpleRecord”不包含“Project”的定义

但是,以下代码确实有效:

var db = Database.Open();
var hotel = db.Hotel.FindByHotelID(1);

foreach (var project in hotel.Project)
{
    foreach (var projectMilestone in project.ProjectMilestone)
    {
        //Do something here
    }
}

我完全不明白。在我看来,如果第二个有效,那么第一个也应该有效。 All().Take(100) 返回的集合不是 FindByHotelID(1) 返回的集合吗?查看类型,看起来应该是。

有人见过这个吗?

【问题讨论】:

    标签: sql-server simple.data


    【解决方案1】:

    这是 Simple.Data 中的一个错误。现在在 Nuget 上的 0.14.0.3 中已修复。

    【讨论】:

      猜你喜欢
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 2016-05-04
      • 1970-01-01
      • 1970-01-01
      • 2023-03-15
      • 1970-01-01
      • 2020-04-10
      相关资源
      最近更新 更多