如何在C#中使用EF从MySQL表中获取第一个和最后一个日期?

时间:2016-10-25 09:43:20

标签: c# entity-framework c#-4.0 entity-framework-4 entity-framework-6

这是我获得第一次约会的代码。它有效,我可以在dateTimepicker中显示日期。

private void ShowButton_Click(object sender, EventArgs e)
{
    String constring = "datasource=;port=3306;username=;password=";

    MySqlConnection connection = new MySqlConnection(constring);

    int n = Convert.ToInt32(textBox1.Text);
    testEntities dc = new testEntities(); 

    var getfirstDate = dc.table.Where(b => b.number == n).First();

    dateTimePicker1.Text =Convert.ToString (getfirstDate.date);
}

但是,当我尝试对最后一个日期做同样的事情时

var getlastDate = dc.table.Where(b => b.number == n).Last();

出现错误消息:

  

LINQ to Entities无法识别方法'project.table Lasttable'方法,并且此方法无法转换为商店表达式。

2 个答案:

答案 0 :(得分:1)

您可以使用OrderByDescending() + First()

var lastDate = table.Where(b => b.number == n)
     .OrderByDescending(b => b.Date)
     .First();

答案 1 :(得分:0)

为什么不使用订购?

var getlastDate = dc.table.Where(b => b.number == n).OrderByDescending(b => b.Date).First();

//alternatively to using Where().First();

var getlastDate = dc.table.First(b => b.number == n).OrderByDescending(b => b.Date)