私が取り組んでいるFluentNHibernateプロジェクトがあり、いくつかのテストを行っていると、非常に奇妙なエラーが発生しました。
The entity '<>c__DisplayClass3' doesn't have an Id mapped. Use the Id method to map your identity property. For example: Id(x => x.Id).
報告された関連エンティティは次のとおりです。
{Name = "<>c__DisplayClass3" FullName = "TPLLCPortal.Domain.Account+<>c__DisplayClass3"}
という名前のクラスはありませんDisplayClass
が、Account
エンティティはあります。私は次のような主キー規則を使用しています:
public class PrimaryKeyConvention : IIdConvention
{
public void Apply(IIdentityInstance instance)
{
instance.GeneratedBy.GuidComb();
}
}
私のクラスは、IDを次のように宣言するAccount
クラスを継承しています。EntityBase
/// <summary>
/// Gets or sets the id.
/// </summary>
/// <value>The id.</value>
public virtual Guid Id { get; protected internal set; }
構成が適切に設定され、規則が適用されていることを確信していますが、念のため、オーバーライドを追加して、Account
クラスのIDを具体的にマッピングしました。サイコロはありません。
ここで何が起こっているのかアイデアはありますか?
NHibernate3.3.1.4000でFNH1.3.0.733を使用しています(どちらもNuGetからロードされています)。