2009-02-27 12 views
15

私はNHibernate 2の壊れた変更の1つを知っています。* NHibernate.Nullablesはもはやサポートされていません。したがって、null可能なDateTimeをマップするためにマッピングファイルでは何を使用しますか?タイプ?NHibernate 2. *マッピングファイル:nullable DateTime型(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ですか?すべてそれ自身で

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

答えて

28
<property name="CreatedDate" /> 
  • はNHibernateのは、問題のクラスの上に反映してのタイプの反射特性が独自にDateTime?のすべてであることを発見するでしょう。
  • NHibernateは、特に指定しない限り、カラム名はデフォルトでプロパティ名と同じとみなします。
  • NHibernateは、特に指示しない限り、任意のプロパティがnullable(not-null="false")であるとみなします。

あなたが本当にしたい場合は、それが何かのような...

<property name="CreatedDate" type="System.Nullable`1[[System.DateTime, mscorlib]], mscorlib" /> 
+0

ありがとうなければなりません。私は第2位と第3位を知っていますが、最初のものは見たことがないと信じられません。 – Ted

+0

FWIW、これはマッピング属性のようなものを使うほうがずっと簡単です。これは '[Property(Name =" CreatedDate "、TypeType = typeof(DateTime?))]' –

関連する問題