16

NHibernate 2.* での重大な変更の 1 つは、NHibernate.Nullables がサポートされなくなったことです。したがって、null 許容の DateTime をマップするには、マッピング ファイルで何を使用しますか? タイプ?すなわち:

当然のことながら動作しません:

<property name="CreateDate" column="CreateDate" type="DateTime?" not-null="false" />

サポートされなくなりました:

<property name="ModifiedDate" column="ModifiedDate" type="Nullables.NHibernate.NullableDateTimeType, Nullables.NHibernate" not-null="false"/>

私はそれがとても明白でなければならないことを知っていますが、私はそれを見つけられません!

答えは簡単です: NHibernate は問題のクラスを反映し、プロパティの反映された型が DateTime であることを発見しますか? すべて独自に。

ありがとう@ジャスティス!

4

1 に答える 1

31
<property name="CreatedDate" />
  • NHibernate は問題のクラスを調べて、プロパティの反映された型がDateTime?すべて独自のものであることを発見します。
  • NHibernate は、特に指定しない限り、デフォルトで列名がプロパティ名と同じであると想定します。
  • not-null="false"NHibernate は、特に指定しない限り、すべてのプロパティが null 可能 ( ) であると想定します。

あなたが本当に望むなら、それは次のようなものでなければなりません...

<property name="CreatedDate" type="System.Nullable`1[[System.DateTime, mscorlib]], mscorlib" />
于 2009-02-27T01:49:22.967 に答える