首页 文章

流畅的nhibernate表列类型映射

提问于
浏览
0

我一直在使用流利的nhibernate几个月,我认为这是一个非常灵活的工具(即使'工具'可能是不正确的术语):)

我正在研究一个新项目,我仍在考虑使用流畅的nhibernate解决方案将我的数据库映射到存储库层 . 问题是,由于某些原因我真的不明白,数据库不是“标准”结构 .

我的意思是外键不引用表,但我知道有些情况下:

表X:列A类型nvarchar表Y:列A类型int

X是包含数据的表(以代码的形式),而Y是包含X.A描述的表 .

好像这是一个荒谬的情况!但我无法对数据库做任何事情 . 所以问题是:我可以用流利的nhibernate映射这些表,即使列是不同类型的引用它们吗?

thx提前

2 回答

  • 0

    不,NHibernate不支持具有完全不同数据类型的外键 .

    现在,考虑到这是一个 new 项目,您需要做的是修复数据库 .

  • 3

    是的,不是 . 您可以映射表,但不能映射关系 . 这将为您提供一个贫血的域模型和存储库方法来检索相关对象,即从 GetOrdersForCustomer() 方法而不是 Customer.Orders 集合访问订单 .

    另一种可能性是为这些属性创建自定义用户类型,例如 IntStoredAsString . 我只使用自定义类型的属性,所以我不确定它们作为外键的效果如何 .

相关问题