3 Stimmen

Fluent NHibernate Mapping und Formeln/DatePart

Ich habe eine sehr einfache Tabelle mit einer Datetime-Spalte und ich habe diese Zuordnung in meinem Domänenobjekt.

MeinDatum ist der Name der Datetime-Spalte in der DB.

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

Das funktioniert alles super .... aber Week Datepart.

Ich sah mit NHProf die Sql-Generierung für einen Select und hier ist das Problem Die gesamte Sql wird korrekt generiert, aber für den Datumsbereich der Woche. Dies ist ein Teil des generierten SQL:

....Datepart(day, MyDate) ... ....Datumteil(Monat, MeinDatum) ... ....Datumteil(Jahr, MeinDatum) ... ....Datumteil(Stunde, MeinDatum) ... ....Datenteil(Minute, MeinDatum) ... ....Datumsteil(Sekunde, MeinDatum) ... ....Datepart( diese_.Woche , MeinDatum) ...

wobei this_ der Alias für die Tabelle ist, die nhibernate verwendet.

also behandelt es das Schlüsselwort week für den Datenteil als Spalte oder so ähnlich. Um zu klären, gibt es keine Spalte oder Eigenschaften, die Woche genannt wird.

etwas Hilfe?

Prost

Alessandro

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X