2011-07-20 15 views
0

私はこれでクラスfilter.csを持っている属性:流暢NHibernateのマッピング

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; } 

属性とReportConfigurationは外部キーです。

Iは、このマッピングを行った:

 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(); 

加えて、私はこの方法を用いて、例えば、リポジトリクラスがある:

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

私はCreate(Filter F)のユニットテストをしたときに例外を生成:

いいえpersister for:....フィルター.cs

Iマッピングが正しくないと考えてください。

ありがとうございます。

答えて

0

はここに試してみてください:上記のポストから

Fluent Nhibernate No persister for:

ソリューション:クラスがパブリックではありませんので、このエラーが発生します。 をpublicに変更してください。これは再び発生しません。しかし、 アセンブリの外にアセンブリを公開したい場合は、 を「内部」としてマークすることができます。

これはあなたの状況ですか?

Fluent Nhibernate No Persistor for Class Name

+0

パーフェクト私は私のクラスのパブリック操作を行います。


これは、同様の質問です。 – Tarlak

関連する問題