主キーまたは複合キーが指定されていない Automap 読み取り専用ビューに Fluent Nhibernate を取得しようとしています。ClassMap の API ドキュメントが Id() のデフォルトのコンストラクターを公開しているため、可能のようです。
http://fluentnhibernate.org/api/FluentNHibernate.Mapping/ClassMap%601.htm
それは言う
IdentityPart Id() ドメイン オブジェクトまたはデータベース内の列に対応するプロパティを持たない Id を作成します。これは主に、読み取り専用アクセスおよび/またはビューで使用するためのものです。デフォルトは、「インクリメント」ジェネレーターを使用した int ID です。
ビューに対応するエンティティのマッピングをオーバーライドしようとしましたが、Id フィールド名を指定する主キー規則を削除しました。id
そのような列がないために失敗するビューのクエリに列を追加します。
これを行うためのより良い方法があるはずだと思うので、ビューで偽の主キーを取り除こうとしています。
これが私が使用しているオーバーライドスニペットです
public class PersonMap: IAutoMappingOverride<Person>
{
public void Override(AutoMapping<Person> mapping)
{
mapping.Id();
}
}
なぜこれが機能しないのですか?