nhibernate - 如何配置 NHibernate(或 Fluent NHib)以向所有表名添加表名前缀?

标签 nhibernate orm fluent-nhibernate naming-conventions

在我正在开发的当前应用程序中,我使用 Fluent NHibernate 来配置 NHibernate 以用作 ORM。我希望能够为应用程序中使用的所有表名添加前缀,这样如果我使用已经为另一个应用程序提供服务的数据库,两个应用程序之间就不会发生命名冲突。

例如,如果我想添加前缀 Portal_到每张 table ,Users表将变成 Portal_Users .

当然,我知道如何在每个映射文件中配置每个表名,但这对于我正在尝试做的事情来说并不是一个很好的解决方案。如果我想更改前缀,我将被迫更改每个映射文件。我希望能够在我的代码或配置中的一个地方添加(或更改)所有表名的前缀。

如何使用 NHibernate(或 Fluent NHibernate)为应用程序中的所有表名添加前缀?

最佳答案

您可以实现自己的 INamingStrategy并为您的配置指定它:

Configuration config = new Configuration();
config.SetNamingStrategy(new MyTablePrefixStrategy());

关于nhibernate - 如何配置 NHibernate(或 Fluent NHib)以向所有表名添加表名前缀?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1520702/

相关文章:

nhibernate - NHibernate 中的 hilo 错误 - "could not read a hi value - you need to populate the table"

c# - Fluent NHibernate - 添加鉴别器时出现问题

c# - 数据库中的任务有多个程序处理它们——如何确保每个任务都被恰好处理一次?

java - 使用 "in"过滤器的子查询删除

nhibernate - 使用 QueryOver 进行交叉连接

python - peewee:过滤从多对多关系中选择查询结果

mysql - 如何在sequelize js ORM中获取关系/关联

c# - 使用 nhibernate,我将如何构造一个需要最近 50 行的查询

c# - 从现有数据库和 Fluent NHibernate 自动映射生成 C# 实体

c# - 按字段排序,该字段是 NHibernate/LINQ 中其他两个字段的组合/函数