1

クラスのプロパティをマップしてNHibernate XDocTypeを使用するFluent NHibernate Mappingがあります

  Map(x => x.Content)
            .Not.Nullable()
            .CustomType(typeof (XDocType));

Sql 2008 dbのテーブル列はXML型であるため、これを使用しています。

現在、XML 列タイプをサポートしていない Sql CE を使用して、いくつかのユニット/統合テストを作成しようとしています。

セッション ファクトリをスピンアップしているときに、コンテンツ列のマッピングをオーバーライドして、サポートされている型を使用したいと言う簡単な方法はありますか。

私が現在セッションファクトリーをどのようにスピンアップしているかの例を以下に示します

var sessionFactory = Fluently.Configure()                                 
                                .Database(MsSqlCeConfiguration.Standard.ShowSql().ConnectionString(connectionString))
                                .Mappings(m => m.FluentMappings.AddFromAssemblyOf<MyAssembly>())
                                .ExposeConfiguration((c) =>
                                                         {
                                                             sessionConfig = c;
                                                             new SchemaExport(c).Create(false, true);
                                                         })                                    
                                .BuildSessionFactory();

ありがとう。

4

1 に答える 1

2

MsSqlCeDialectまたはを拡張して、MsSqlCe40Dialect次を追加する必要があります。

RegisterColumnType(DbType.Xml, "NTEXT");

/プロパティのNTEXTSQLタイプを使用します。XDocTypeXmlDocType

于 2012-08-21T23:33:39.870 に答える