问候 我有个人的个人资料,包括出生日期 如何获取在日期1和日期2之间出生的人的信息?
出生日期是在SQL Server数据库Compact中 我这样记录了
using (ISession session = NHibernateConfiguration.OpenSession())
{
var production = session
.CreateCriteria(typeof(Person))
.Add(Restrictions.Eq("Date", date))
.List<Person>();
return production;
}
答案 0 :(得分:5)
而不是.Add(Restrictions.Eq("Date", date))
使用.Add(Restrictions.Between("Date", fromDate, toDate))
答案 1 :(得分:1)
如果您在列表中存储的这些对象超出了您的说法,
for(int i=0;i<list.count;i++)
{
if(list[i].getBirthdate.Day == 1 || list[i].getBirthdate.Day == 2 )
//DoSomething
}
但是男人,你应该更具体,如果这些信息存储在DataBase中,如果出生日期存储为Formated DateTime或其他什么,请更具体并向我们展示一些代码。
答案 2 :(得分:0)
根据你问题中的标签,看起来你正在使用Nhibernate。如果您使用Linq-to-Nhibernate,那么您可以使用这样的linq语句:
var query = myISession.Linq<Person>();
var result = from entity in query
where entity.Dob >= dob1 && entity.Dob <= dob2
select entity;
return result.Count() > 0 ? result.ToList() : null;
答案 3 :(得分:0)
我更喜欢扩展方法
var persons = GetPersonList();
var range = persons.Where(p => p.Dob >= startDate && p.Dob <= endDate);
请注意,我知道这与使用LINQ语法基本相同,我只是不喜欢linq语法:)。