1

我有一个流利的 NHibernate 映射,它映射一个类的属性以使用 NHibernate XDocType

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

我使用它作为 Sql 2008 db 中的表列是 XML 类型。

目前我正在尝试使用不支持 XML Column 类型的 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

您应该扩展MsSqlCeDialectorMsSqlCe40Dialect并添加:

RegisterColumnType(DbType.Xml, "NTEXT");

这将对/属性使用NTEXTSQL 类型。XDocTypeXmlDocType

于 2012-08-21T23:33:39.870 回答