NHibernate を Firebird データベースと一緒に使用していますが、文字列型が正しくマップされているかどうかわかりません。.NET では、文字列型は通常 UTF16 でエンコードされます。Firebird では、文字セット UTF8 でドメインを定義しました。
したがって、このドメインクラスがある場合:
public class Project
{
public virtual Int64 ID { get; set; }
public virtual String Name { get; set; }
}
およびこの Hibernate マッピング:
<class name="Project">
<id name="Id">
<generator class="sequence">
<param name="sequence">MY_GEN</param>
</generator>
</id>
<property name="Name"/>
</class>
この場合、NHibernate は System.String を Firebird UTF8 文字列に自動的に変換しますか? データベースでは問題ないようです。しかし、NHibernate での取り扱いについてはよくわかりません。