2011-06-09 139 views
1

問候語 我有個人的個人信息,包括出生日期 我如何獲取在第1天和第2天之間出生的人的信息?出生在日期範圍內顯示數據

日期是在SQL Server數據庫壓縮 我收到了創紀錄的方式

using (ISession session = NHibernateConfiguration.OpenSession()) 
{ 
    var production = session 
     .CreateCriteria(typeof(Person)) 
     .Add(Restrictions.Eq("Date", date)) 
     .List<Person>(); 
    return production; 
} 
+1

這是存儲在數據庫中?如果是這樣,什麼類型?如果沒有,更多細節? – David 2011-06-09 21:42:38

回答

1

如果您有這些對象的存儲在一個列表比你可以說,

for(int i=0;i<list.count;i++) 
{ 
if(list[i].getBirthdate.Day == 1 || list[i].getBirthdate.Day == 2) 
    //DoSomething 
} 

但男人,你應該更具體,如果這些信息的存儲在數據庫中,如果出生日期存儲爲格式DateTime或任何其他,請更具體,並向我們展示一些代碼。

0

通過您問題中的標籤,它看起來像您使用的是Nhibernate。如果你使用LINQ到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; 
0

我喜歡的擴展方法更加

var persons = GetPersonList(); 
var range = persons.Where(p => p.Dob >= startDate && p.Dob <= endDate); 

注意,我知道這是基本相同的使用LINQ語法,我只是不喜歡LINQ語法:)。

5

代替.Add(Restrictions.Eq("Date", date))使用.Add(Restrictions.Between("Date", fromDate, toDate))