1
マイに参加(レガシー、変更することができない)スキーマは複合キーとユーザとUserAddressとの間に1対1の関係を有していますアイデアは、同じクラスにそれらすべてを持って<join
を使用していた:nHib 3.2マッピングが複合キー
public class UserDTO
{
public string Username { get; set; }
public string Email { get; set; }
public string FirstName { get; set; }
public string City { get; set; }
//etc...
}
が、私は、マッピングについて知らない:
Join("UsersAddresses", j=>
{
j.Table("UsersAddresses");
j.Fetch(FetchKind.Join);
j.Optional(false);
j.Key(k=>
{
//What here???
k.Column(c=>
{
c.Name("");
c.Name("");
});
k.ForeignKey("");
k.ForeignKey("");
});
});
これを達成する方法はありますか?または、おそらくコンポーネントまたは1対1のマッピングを選択する必要があります。
'c'は' ForeignKey'関数を定義しない 'IColumnMapper'型です。他のアイデア? –
まあ、そうです。したがって、複合キーの外部キー名を定義する方法はないようです。しかし、なぜあなたは気にしますか、あなたのデータベースは従来のものであり、変更することはできないと言ってきました。あなたがしないスキーマのエクスポートの場合には、外部キー名を設定するためだけに 'ForeignKey'が必要です。 – NOtherDev
ああ、コードによるマッピングの理解に根本的に欠けていることがあります: 'UsersAddresses'のどの列が' Users'のどの列を参照しているかをNHibに伝えるにはどうすればいいですか? (すなわち 'username - > username_fk'など) –