gpt4 book ai didi

.net - NHibernate:如何在运行时重新配置映射?

转载 作者:行者123 更新时间:2023-12-03 17:20:56 24 4
gpt4 key购买 nike

让我们首先解决这个问题:我知道 SessionFactory 是不可变的 - 我正在尝试在运行时更改配置并重新生成 ISessionFactory。

具体来说,我有一个 Customer 映射,它将在运行时将一些字段添加到其动态组件节点。我想做这样的事情

var newSessionFactory = previousConfiguration
.RemoveClassMapping(typeof(Customer))
.AddXmlString(newMappingForCustomer)
.BuildSessionFactory();

但是,我没有看到任何明显的方法来删除映射,除了重新生成整个配置之外,我还能做些什么吗?

最佳答案

这是不可能的。您必须重新生成 Configuration .

我最初的建议是您为模型选择不同的策略。

但是,如果您决定这样做:-),您可以:

  • 创建“部分”Configuration (不包括 Customer)
  • 将其序列化为 MemoryStream
  • 添加“基础”Customer映射,如果需要的话
  • 创建临时 SessionFactory
  • 检索您需要映射的任何信息 Customer
  • 反序列化您保存的 Configuration
  • 添加 Customer映射并创建您的最终版本 SessionFactory
  • 关于.net - NHibernate:如何在运行时重新配置映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2526320/

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