我想检查某个范围内的人 - 让minage和maxage对应于年龄组MINAGE = 18,最大生存周期= 24的意思,我想筛选出18岁至24.Also数据类型成员的出生日期是字符串之间的人..最后的成员年龄不是workng
我试图此
int agefrom = Convert.ToInt32(cbGEFrom.Text);
int ageto = Convert.ToInt32(cbGETo.Text);
DateTime today = DateTime.Today;
DateTime max = today.AddYears(-(agefrom + 1));
DateTime min = today.AddYears(-(ageto));
string maxage = Convert.ToString(max);
string minage = Convert.ToString(min);
var members =
from report in eclipse.members
where string.Compare(report.member_Dob,minage) >=0
where string.Compare(report.member_Dob,maxage) < 0
select report;
我曾尝试以下
var members = from report in eclipse.members
let dob = DateTime.Parse(report.member_Dob) // or use ParseExact
where dob >= minDOB && dob < maxDOB
select report;
但LINQ到实体不支持该行
let dob = DateTime.Parse(report.member_Dob) // or use ParseExact
不幸的是member_dob数据类型为字符串,我不能更改架构...
会不会有人请给任何想法这样做...
你不能改变的模式,但你能添加一个函数的数据库? – Tipx
我可能会在该表中的数据库中创建一个视图,将该字符串转换为日期,并将该视图添加到linq上下文文件中。 – Magnus