識別子なしでビューをマップしようとしていますが、nhibernate は引き続き id 列を含む sql を生成します (ID 列が db に存在しないため、sql エラーが発生します)。多分私は Id() コンストラクターを誤解していますか?
コンストラクターのコメント:
ドメイン オブジェクトまたはデータベース内の列に対応するプロパティを持たない Id を作成します。これは主に、読み取り専用アクセスおよび/またはビューで使用するためのものです。デフォルトは、「インクリメント」ジェネレーターを使用した int ID です。
public class PersonMapping : ClassMap<Person>
{
public PersonMapping()
{
Table("person");
ReadOnly();
Id();
Map(f => f.Name, "name");
}
}