流畅的NHibernate映射

时间:2011-07-20 15:08:23

标签: c# nhibernate fluent-nhibernate nhibernate-mapping

我有类filter.cs具有以下属性:

    public virtual int Id { get; set; }
    public virtual Attribute Attribute { get; set; }
    public virtual Int16 Type { get; set; }
    public virtual string FilterValue { get; set; }
    public virtual ReportConfiguration ReportConfiguration { get; set; }

Attribute和ReportConfiguration是外键。

我做了这个映射:

        Id(a => a.Id).UnsavedValue(0).GeneratedBy.Identity();
        Map(a => a.Type);
        Map(a => a.FilterValue);
        References(x => x.ReportConfiguration).Column("IdReportConfiguration").Not.LazyLoad();
        References(x => x.Attribute).Column("IdAttribute").Not.LazyLoad();

另外,我有一个Repository类,例如使用方法:

public int Create(Filter F)
    {
        int FilterId = 0;
        Transactional(session =>
        {
            FilterId = (int)session.Save(F);
        });
        return FilterId;
    }

当我进行Create(Filter F)的单元测试时,它产生了一个异常:

没有持久性:...... Filter.cs

我认为映射不正确。

有什么想法吗?

谢谢和最诚挚的问候。

1 个答案:

答案 0 :(得分:0)

试试这里:

Fluent Nhibernate No persister for:

从上面的帖子:

  

解决方案:由于该类不公开,因此会发生此错误。只是改变   公开的类,这不会再发生。但是,如果你不这样做   想要在程序集外暴露程序集,您仍然可以标记   构造函数为'internal'。

这是你的情况吗?


这是一个类似的问题:

Fluent Nhibernate No Persistor for Class Name