c# - 如何在 Fluent NHibernate 中映射 protected 集合?

标签 c# nhibernate fluent-nhibernate nhibernate-mapping

我曾尝试在 Fluent 中使用 Reveal 属性,但无法使用集合进行编译。我希望我在一个实体中的一个集合受到保护,并且除了在实体本身之外的任何地方都无法访问。这可能吗?谢谢

编辑:

这是我尝试使用的代码,

HasMany<Trip>(x => Reveal.Property<Trip>("_trips"));

我也试过这段代码,

HasMany<Trip>(Reveal.Property<Organization>("_trips"));

每次我的应用程序运行时,NHibernate 都会说它无法映射到“Property”或抛出未知异常。

最佳答案

假设组织有一个IList

HasMany<Trip>(Reveal.Property<Organization>("_trips"));

代码应该可以工作。 检查它是否是一个属性,并且您已经保护了 getter 和 setter(私有(private)的将不起作用,因为 NHibernate 将要代理集合以进行延迟加载)。

关于c# - 如何在 Fluent NHibernate 中映射 protected 集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1129343/

相关文章:

nhibernate - NHibernate StaleObjectStateException 之后如何优雅地合并对象图?

.net - 您是否知道在使用 SetFirstResult 和 SetMaxResults 时如何在不使用 ResultTransformer 的情况下获得不同的结果集?

c# - 你如何映射一个组件,它也是 NHibernate hbm xml 中的主键(或在 fluent-nhibernate 类映射中)?

c# - 使用 Emgu CV 转换编解码器

c# - 如何在 C# 应用程序之间同时同步数据刷新

NHibernate : Query by example on primary key produces "WHERE (1=1)"

fluent-nhibernate - 使用 Fluent NHibernate 映射一个简单的元素集合

c# - 有没有办法使用 NHibernate 强制执行最小字符串长度?

c# - Wpf InkCanvas 将笔画保存为 svg

c# - .NET 和带 DLLS 的配置文件