私には2つのクラスがあります:
public class User
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
}
public class Report
{
public virtual int Id { get; set; }
public virtual string Name { get; set; }
public virtual User User { get; set; }
}
...ここで、クラスUser
はデータベース内の既存のテーブルです。ここで、データベースにテーブルとして追加したいと思いReport
ます。このために、FluentNHibernateを使用する予定です。クラスからアクセスできるようにしたいので、User
との両方をマッピングしています。との間には1対多の関係があります。Report
User
Report
User
Report
SQLスクリプトをデータベースにエクスポートするテストがすでにありUser
、これらに含まれています。User
ここで、FNHによって生成されたスクリプトもエクスポートしたいのですが、FNHはすでにデータベースにあるため、生成したくありません。
したがって、SchemaAction.None()
のマッピングで指定できますUser
。これにより、FNHはのスクリプトを生成せずUser
、のスクリプトのみを生成しますResult
。唯一の問題は、テーブルに外部キーが生成されないことですReport
。User
FNHで生成されたスクリプトをエクスポートせずに、テーブルの外部キーをエクスポートするにはどうすればよいReport
ですか?
SchemaActionを指定しないと、テーブルUser
とReport
が作成され、外部キーReport
が生成されます。