NHibernate:如何获取映射值?

标签 nhibernate

假设我有一个映射到数据库的类 Customer,并且一切正常。

现在假设我想在我的应用程序中检索 NH 知道 Customer.FirstName 映射到的列名。

我该怎么做?

最佳答案

可以通过NHibernate.Cfg.Configuration访问数据库字段名:

// cfg is NHibernate.Cfg.Configuration
// You will have to provide the complete namespace for Customer
var persistentClass = cfg.GetClassMapping(typeof(Customer));
var property = persistentClass.GetProperty("FirstName");
var columnIterator = property.ColumnIterator;

ColumnIterator属性(property)返回IEnumerable<NHibernate.Mapping.ISelectable> .在几乎所有情况下,属性都映射到单个列,因此可以使用 property.ColumnInterator.ElementAt(0).Text 找到列名。 .

关于NHibernate:如何获取映射值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470745/

相关文章:

nhibernate - 如何映射枚举类而不将鉴别器传递到构造函数中?

c# - Fluent Nhibernate List<string> 映射

c# - session 关闭后无法访问引用的对象

c# - NHibernate 中的 QueryOver

c# - 如何使用 NHibernate 枚举列名?

c# - LINQ 查询中单个表的多个计数

c# - SQLite 连接策略

nhibernate - 运行测试时由 Mappings 中的 GeneratedBy 语句引起的错误

c# - 将动态组件映射到不友好的数据表结构?

c# - 使用 Fluent nhibernate 自动映射继承