Subsonic 使用ExecuteAsCollection返回错误结果的亚音速InlineQuery

Subsonic 使用ExecuteAsCollection返回错误结果的亚音速InlineQuery,subsonic,executereader,Subsonic,Executereader,使用亚音速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(); 它返回正确的行。为什么ExecuteAsCollection返回的内容与ExecuteRead

使用亚音速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();

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

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

ExecuteAsCollection()应该会这样做

调用Load()方法就像执行
new DAL.MediumCollection().Load()
,返回表中的所有数据

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