我正在快速熟悉NHibernate 3.2及其“按代码映射”功能,并将我们的Fluent映射迁移到它。 是否有一个流利的“ReadOnly();”功能,使整个映射只读? 提前谢谢。
答案 0 :(得分:6)
在映射中使用Mutable(false)。
阅读这篇文章,了解相应的hbm文件映射,我可以从中推断出这一点。
http://davybrion.com/blog/2007/08/read-only-data-in-nhibernate/
答案 1 :(得分:3)
使用PropertyMapper操作定义访问样式:
public class EntityMapping : ClassMapping<Entity>
{
public EntityMapping()
{
Id(m => m.Id, map => map.Generator(Generators.HighLow));
Property(m => m.Name, map => map.Access(Accessor.ReadOnly));
}
}
答案 2 :(得分:3)
对于那些用流利的人来说,你正在寻找ReadOnly(),如下所示:
public class FooMap : ClassMap<Foo> {
public FooMap() {
Schema("bar");
Table("foo");
LazyLoad();
ReadOnly();
CompositeId()
.KeyProperty(x => x.ID, "ID")
.KeyProperty(x => x.Year, "Year");
Map(x => x.FirstField).Column("FirstField").Length(1);
}
}