NHibernate映射:是否可以通过映射文件将值插入数据库而无需使用属性?

时间:2011-08-20 09:28:17

标签: nhibernate mapping

我正在编写一个与遗留数据库(brownfield)一起使用的应用程序。我有几个表插入数据。这些表包含一些字段,这些字段需要我不希望域实体中的属性值。有没有办法将默认值插入字段而不必为我的映射文件创建属性?我无法改变数据库来创建触发器,因此必须通过映射文件/ .net应用程序来完成。

希望有人可以提供帮助。我希望我可以使用一个公式,但这不起作用,我也找不到任何其他方法。

3 个答案:

答案 0 :(得分:2)

您可以使用私人/受保护的财产 这意味着将这些字段引入您的域模型/映射中,但它们仅限于这些字段,并且不会暴露给使用您的实体的任何人。
对我来说似乎是一个合理的妥协。

答案 1 :(得分:1)

您可以使用EventListeners

OnPostInsert / OnPostUpdate事件中,您可以获取数据库连接并临时执行SQL查询。

答案 2 :(得分:0)

NH让它变得相当容易

使用xml,请参阅here 使用FluentNHibernate请参阅here

基本思想是在非现有属性上使用PropertyAccessor,该属性始终具有常量值。