使用SubSonic获得与众不同的月份和年份

时间:2009-11-06 07:14:34

标签: subsonic distinct simplerepository

我有日期类型列(MySQL):

SELECT invdate FROM invoices;

invdate
-------
2009-08-22
2009-07-12
2009-08-23
-------

我希望像这样得到月份和年份:

SELECT DISTINCT MONTH(invdate) AS invmonth, YEAR(invdate) AS invyear FROM invoices;

如何在C#中使用SubSonic(SimpleRepository)?

TIA

2 个答案:

答案 0 :(得分:1)

您是否有机会查看文档?请参阅下面的链接和代码,它应该有所帮助。

http://subsonicproject.com/docs/Distinct

[Test]
public void SqlQuery_when_setting_distinct_it_should_set_IsDistinct()
{
    SubSonic.SqlQuery query= new 
        Select(Product.SupplierIDColumn).From<Product>().Distinct();
    Assert.IsTrue(query.IsDistinct);
}

[Test]
public void SqlQuery_should_handle_distinct()
{
    ProductCollection select = new 
        Select(Product.SupplierIDColumn).From<Product>().Distinct()
        .ExecuteAsCollection<ProductCollection>();

    Assert.AreEqual(29, select.Count);

}

[Test]
public void SqlQuery_GetRecordCount_should_handle_distinct()
{
    int select = new Select(Product.SupplierIDColumn)
        .From<Product>().Distinct()
        .GetRecordCount();

    Assert.AreEqual(29, select);
}

答案 1 :(得分:0)

OMG!我忘了将变量定义为日期/日期时间,所以我不能使用这些函数。

之前:

public string invdate { get; set; }

后:

public DateTime invdate { get; set; }

我的错,我很抱歉。 问题已解决