gpt4 book ai didi

c# - NHibernate 动态创建/更改/删除表

转载 作者:太空宇宙 更新时间:2023-11-03 14:33:54 25 4
gpt4 key购买 nike

我知道 NHibernate 是一个 ORM,它通常不用于创建表,但我也知道 NHibernate 能够在给定一些映射的情况下创建整个数据库。

我想知道是否有可用于动态创建/更改/删除表的模糊 API。我可以用 ADO.Net 做到这一点,但我想抽象出为不同数据库(MS SQL、MySQL 等)创建表的代码

精度 1:CreateSQLQuery 的问题是我必须重写为不同的 SQL 服务器(MS SQL、MySQl 等)创建表的方法。它与 ADO.Net 相比没有优势。当 NHibernate 从它为任何 SQL 服务器生成的映射生成数据库时……这就是我正在寻找的。当 NHibernate 从映射生成数据库时执行的代码是什么...此代码可用/公开吗?

最佳答案

是的,你可以:)

您动态创建一个对应于要映射的类的类型。然后生成映射。

要查看 NH 源代码的重要类位于 Nhibernate.Mapping 命名空间中:PersistentClass、RootClass。

这是一个示例: https://nhibernate.info/blog/2008/11/16/mapping-source-how-map-a-class-without-use-nothing.html

我已经使用这个“API”来动态生成表格。

关于c# - NHibernate 动态创建/更改/删除表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1816722/

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