在数据网格视图中显示不存在的(在数据库表中)列



我有一个表格"员工",上面有名字、姓氏、出生日期等等。

此表不包含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?

我自己解决了,谢谢大家((

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();

最新更新