流畅的NHibernate:如何将整个类映射为ReadOnly?

时间:2010-05-20 05:35:02

标签: c# nhibernate fluent-nhibernate

我有几个类从非常精细的表中读取,这就是为什么我希望它们被NHibernate用作“ReadOnly”。在每个字段映射上建立.ReadOnly()非常草率,我不确定我是否相信它。我如何设置一个完全只读的类,因为我可以轻松地使用传统的XML映射?

修改:答案确实有效。我期望它在我试图保存ReadOnly()对象时抛出异常,但它只是默默地这样做。

感谢。

2 个答案:

答案 0 :(得分:34)

使用Fluent NHibernate,它很简单:

class EntityMap : ClassMap<Entity>
{
    public EntityMap()
    {
        ReadOnly();

        // Mappings
    }
}

答案 1 :(得分:14)

ReadOnly()属性实际上并不像您期望的那样工作。 使用此属性可确保您检索的对象是只读的,因此无法更新它们。但是,它不会阻止创建新记录甚至删除数据库中的现有记录!