我有一张表'Employee',上面有名字,姓氏,dateOfBirth等。
该表不包含Age
列,但我需要在DataGridView中使用名称来计算和显示年龄。
赞:
John 30
Mary 25
问题是我执行查询时
select FirstName, DATEDIFF(yy, DateOfBirth, GETDATE()) as Age from Empoyee
在SQL Server中,我得到了所需的信息,但是当我尝试填充DataGridView时,Age
列显示不正确。
edDataGridView.AutoGenerateColumns = false;
edDataGridView.DataSource = context.Empoyee.SqlQuery("SELECT FirstName, DATEDIFF(yy, DateOfBirth, GETDATE()) as Age from Empoyee").ToList();
请告诉我如何正确执行此操作。可能我应该使用LINQ吗?
答案 0 :(得分:0)
由我自己解决,谢谢所有人)
edDataGridView.AutoGenerateColumns = false;
var query = from e in context.Empoyee
select new
{
e.FirstName, Age = DateTime.Now.Year - e.DateOfBirth.Year
};
edDataGridView.DataSource = query.ToList();