我有一個非常簡單的表與Datetime列,我有這個映射在我的域對象。流利NHibernate映射和公式/日期部分
MyDate是數據庫中日期時間列的名稱。
public virtual int Day { get; set; }
public virtual int Month { get; set; }
public virtual int Year { get; set; }
public virtual int Hour { get; set; }
public virtual int Minutes { get; set; }
public virtual int Seconds { get;set; }
public virtual int WeekNo { get; set; }
Map(x => x.Day).Formula("DATEPART(day, Datetime)");
Map(x => x.Month).Formula("DATEPART(month, Datetime)");
Map(x => x.Year).Formula("DATEPART(year, Datetime)");
Map(x => x.Hour).Formula("DATEPART(hour, Datetime)");
Map(x => x.Minutes).Formula("DATEPART(minute, Datetime)");
Map(x => x.Seconds).Formula("DATEPART(second, Datetime)");
Map(x => x.WeekNo).Formula("DATEPART(week, Datetime)");
這是工作都很棒....但是週日期部分。
我NHProf看到了一個選擇SQL生成和這裏的問題 它是正確的,但對於一週日期部分產生的所有SQL .. 這是SQL的一部分生成:
....日期部分(日期,MyDate)... .... Datepart(month,MyDate)... .... Datepart(year,MyDate)... .... Datepart(hour,MyDate)... .... Datepart(minute,MyDate)... .... Datepart(second,MyDate)... .... Datepart(this_.week,MyDate)...
其中this_是nhibernate使用的表的別名。
因此它將datepart東西的關鍵字視爲一列或類似的東西。爲了說明沒有被稱爲星期的列或屬性。
有些幫助嗎?
歡呼
亞歷山德羅