2010-02-01 39 views
0

我已经有2个表CampaignCoverage和覆盖范围SubSonic内部加盟谜

CampaignCoverage有一个CoverageID列。 Coverage有一列DateX。

基本上我没有在代码中指定CampaignCoverage.CoverageID = Coverage.ID,就像你会在SQL中一样。这是如何工作的!!!!!

CampaignCoverageCollection campaignCoverages = 
    new Select() 
     .From(Tables.CampaignCoverage) 
     .InnerJoin(Tables.Coverage)        
     .Where(Coverage.DateXColumn).IsGreaterThan(ucDateStart.DateTime) 
     .And(Coverage.DateXColumn).IsLessThan(ucDateEnd.DateTime) 
     .And(CampaignCoverage.CampaignIDColumn).IsEqualTo(campaign.Id) 
     .ExecuteAsCollection<CampaignCoverageCollection>(); 

回答

1

如果您还没有指定CampaignCoverage.CoverageID是一个外键Coverage.ID(我认为这是你正在试图说些什么),然后摆脱的加入应该做的伎俩。即删除

.InnerJoin(Tables.Coverage) 

这就是说,你可能想使一个CampaignCoverage.CoverageID的外键Coverage.ID。在完成之后,您可以摆脱IsEqualTo子句。即删除

.And(CampaignCoverage.CampaignIDColumn).IsEqualTo(campaign.Id)