2009-05-20 39 views
0

我回用SubSonic.SqlQuery的两个连接对象的数据集,但我似乎无法弄清楚如何执行此where子句:用字符串自定义where子句?

Month(SubmittedOn)=Month(GETDATE()) AND Year(SubmittedOn)=Year(GETDATE()) 

我试图做这样,但它不喜欢.IsEqualTo(字符串):

.Where("Month(SubmittedOn)").IsEqualTo("Month(getdate()") 

回答

0

你可以在一个价值仅传递到亚音速约束方法(IsEqualTo),所以下面将获得3月提交的所有行:

.Where("Month(SubmittedOn)").IsEqualTo(3) 

下面将得到所有行提交当月:

.Where("Month(SubmittedOn)").IsEqualTo(DateTime.Now.Month) 
0

看起来你缺少一个括号。尝试:

.Where("Month(SubmittedOn)").IsEqualTo("Month(getdate())") 
+0

良好的渔获,但似乎并没有解决它: SubSonic.SqlQueryException:转换转换VARC时失败har值'Month(getdate())'到数据类型int。 – Scott 2009-05-20 15:32:00

+1

我不知道SubSonic,但可以将它重写为: 。其中(“Month(SubmittedOn)= Month(getdate())”) – RedFilter 2009-05-20 15:54:07

相关问题