gpt4 book ai didi

nhibernate - 将来自文件的数据库配置与 Fluent NHibernate 映射混合

转载 作者:行者123 更新时间:2023-12-03 09:39:27 25 4
gpt4 key购买 nike

我偶然发现了以下问题:我想从配置文件配置数据库,但映射流畅(喜欢它!)配置代码如下所示:

var cfg = new Configuration();
cfg.Configure();
var fluentCfg = Fluently.Configure(cfg)
.Mappings(
m => m
.FluentMapping
.AddFromAssembly(Assembly.GetExecutingAssembly));

但是配置文件有一个属性:

<property name="proxyfactory.factory_class">
NHibernate.ByteCode.LinFu.ProxyFactoryFactory,
NHibernate.ByteCode.LinFu
</property>

在 cfg.Configure() 之后;一切看起来都很好,配置指向 LinFu 字节码提供程序但是在第三行之后我看到配置更改为使用 CaSTLe。我查看了 Fluent 的代码,我可能错了,但看起来他们在 PersistenceConfiguration 的构造函数中覆盖了 PersistenceConfiguration.cs(第 50 行)中的这个属性:

values[ProxyFactoryFactoryClassKey] =  DefaultProxyFactoryFactoryClassName;

Fluent 是否需要 CaSTLe?或者可能是我做错了什么或者这只是一个错误?

谢谢。

最佳答案

我不知道这是否是您要找的,但它可能会对您有所帮助。您可以在代码中公开配置并进行任何需要的更改。

var cfg = Fluently.Configure()
.Database(MsSqlConfiguration.MsSql2008.ConnectionString(c => c.FromConnectionStringWithKey("ConnectionStringName")).ShowSql())
.Mappings(m =>
{
m.FluentMappings.AddFromAssemblyOf<MapMarker>();
m.FluentMappings.Conventions.AddFromAssemblyOf<ConventionMarker>();
})
.ExposeConfiguration(x => x.SetProperty("proxyfactory.factory_class", "NHibernate.ByteCode.LinFu.ProxyFactoryFactory, NHibernate.ByteCode.LinFu"));

关于nhibernate - 将来自文件的数据库配置与 Fluent NHibernate 映射混合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061066/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com