0

使用 SubSonic 2.2,我有这个查询:

string q = @"SELECT Media.Id, Media.Title FROM Media WHERE Media.UserId = 7"
DAL.MediumCollection matches = new InlineQuery().ExecuteAsCollection<DAL.MediumCollection>(q).Load();

遍历“匹配”会导致“媒体”表中的每个条目。

但是,当我这样做时:

IDataReader reader = new InlineQuery().ExecuteReader(q);

它返回正确的行。为什么 ExecuteAsCollection 返回的东西与 ExecuteReader 完全不同?有没有其他人经历过这种奇怪的行为?

4

2 回答 2

2

我认为这是因为您正在调用 .Load()。那将覆盖您的原始查询。

于 2009-06-09T06:43:03.237 回答
0

ExecuteAsCollection() 应该这样做。

当您调用 Load() 方法时,就像这样做new DAL.MediumCollection().Load()会返回表中的所有数据。

于 2009-06-09T21:00:54.803 回答