단위 테스트 및 문제가있는 sql-server compact edition에서 nhibernate를 사용하려고합니다.SQL Server CE에서 NHibernate YesNo DbType에서 매핑이 없습니다. AnsiStringFixedLength
<class name="Audit" table="eolaudit_llk">
<id name="ID" column="eolauditlk_ky">
<generator class="identity"></generator>
</id>
<property name="Name" column="eolauditlk_nm" />
<property name="Description" column="eolauditlk_dn" />
<property name="Active" column="active_fg" type="YesNo" />
<property name="UpdateUser" column="update_user_id" />
<property name="UpdateDateTime" column="update_dm"/>
내가 NHibernate에 꽤 새로운 해요 : 순간에 나는 그냥 하나의 엔티티가 있습니다. 나는 세션 구축하기 위해 다음 코드를 사용하고 있습니다 :
failed: System.ArgumentException: No mapping exists from DbType AnsiStringFixedLength to a known SqlDbType. at System.Data.SqlServerCe.SqlCeType.FromDbType(DbType type)
at System.Data.SqlServerCe.SqlCeParameter.set_DbType(DbType value)
:
public static ISessionFactory CrashAndBurnCompactSQLSessionFactory(string ConnectionString)
{
return Fluently.Configure()
.Database(MsSqlCeConfiguration.Standard
.ConnectionString(ConnectionString)
.ShowSql()
.UseOuterJoin()
.QuerySubstitutions("true 1, false 0, yes 'Y', no 'N'")
.Dialect("NHibernate.Dialect.MsSqlCeDialect")
)
.Mappings(m =>
{
m.HbmMappings
.AddFromAssemblyOf<Audit>();
})
.ExposeConfiguration(BuildSchema)
.BuildSessionFactory();
}
그것은 SQL-Server와 함께 잘 작동을하지만, 나는 다음과 같은 오류를 얻을 이상에서 SQL-서버 CE 세션을 사용할 때
이것은 머리 멜터입니다 - 나는 SQL 서버에 대한 테스트를하고 싶지 않고 db를 변경할 수 없습니다. 그것은 'Y'또는 'N'char (1) db 필드에서 객체의 부울로 매핑하는 해당 YesNo 유형의 처리와 관련이 있습니다.
내가 말했듯이 SQL 서버에서 문제없이 작동합니다.
SQL CE 데이터베이스에서 매핑을 검토하여 생성되는 것을 확인 했습니까? Fluent NH가 실제 맵핑 파일을 작성하여 매핑이 어떻게 보이는지 확인할 수 있습니까? –