在Fluent NHibernate中,References()返回一个不支持'ReadOnly()'方法的对象。
我正在尝试创建这种映射(即更新未传播到引用项目的映射):
<many-to-one update="false" insert="false"
name="DestinationSheet" column="DestinationSheetNumber" />
在普通(map())映射上,可以使用ReadOnly()设置这两个属性。
我想做这样的事情:
References(x => x.DestinationSheet).
ColumnName("DestinationSheetNumber").ReadOnly();
我可以使用SetAttributes()手动添加更新和插入属性,并且工作正常,但我担心References()上没有ReadOnly()的事实是我不应该尝试的线索这样做。
有人知道为什么ReadOnly()在这种情况下不可用吗?
答案 0 :(得分:5)
它还没有实现。随着时间的推移,我们将支持NHibernate的所有功能,但在此之前,SetAttribute
方法可以让您继续使用。
顺便说一句,我们接受补丁!
答案 1 :(得分:0)
引用创建多对一映射和according to the documentation,此映射不支持只读。您设置更新和插入错误的方法听起来对我而言。 AFAIK,Fluent NHibernate项目计划支持NHibernate的所有映射功能,但在此之前你必须使用SetAttributes。
答案 2 :(得分:0)
James Gregory提供的答案的实施是
References(x => x.Store).TheColumnNameIs("StoreId").SetAttribute("update","false");