【问题标题】:Subsonic 3.0 TestRepository "Find" not workingSubsonic 3.0 TestRepository“查找”不起作用
【发布时间】:2010-09-28 14:45:32
【问题描述】:

使用 Subsonic 3,我有一个名为“ConferenceRepository”的简单类,它有一个方法可以根据它们的状态返回一堆会议。我正在使用 SubSonic 的内置测试支持对此进行测试。我的 repo 设置如下所示:

// 2 Approved, 4 pending, 3 rejected
var data = new List<Conference>
               {
                   new Conference {Approved = true, Rejected = false},
                   new Conference {Approved = true, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = false},
                   new Conference {Approved = false, Rejected = true},
                   new Conference {Approved = false, Rejected = true},
                   new Conference {Approved = false, Rejected = true}
               };

Conference.ResetTestRepo();
Conference.Setup(data);

然后我的 Repo 类最终使用 Find() 执行这一行:

return Conference.Find(c => c.Approved).ToList(); 

问题是,这总是返回所有记录 (9)。我尝试了不同的查找标准,但无济于事。

有人知道是什么问题吗?我已经尝试修复 tt 模板中的相等比较,如下所述:Fixes for problems with SubSonic 3's TestRepository 但这没有帮助。

【问题讨论】:

  • 您使用的是来自 github 的最新资源吗?
  • 使用从github下载的SubSonic_3.0.0.4.zip包

标签: subsonic subsonic3 subsonic-active-record


【解决方案1】:

所以从 .Find 更改为...

return Conference.All().Where(c => c.Approved == true).ToList(); 

解决它。

【讨论】:

    【解决方案2】:

    应该没什么区别,但是你试过了吗:

    return Conference.Find(c => c.Approved == true).ToList(); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多