レガシー DB で Fluent Nhibernate と Automapper を使用して S#arp アーキテクチャを使用しています。
テーブルの 1 つの id 列が Automapping 規則と異なるため、オーバーライドしようとしましたが成功しませんでした。私はこのエラーで終わります
FluentNHibernate.Cfg.FluentConfigurationException : SessionFactory の作成中に無効または不完全な構成が使用されました。詳細については、PotentialReasons コレクションと InnerException を確認してください。
- データベースが Database メソッドで構成されていません。
FluentNHibernate.Cfg.FluentConfigurationException : SessionFactory の作成中に無効または不完全な構成が使用されました。詳細については、PotentialReasons コレクションと InnerException を確認してください。
データベースが Database メソッドで構成されていません。
---- NHibernate.MappingException : (XmlDocument)(3,6): XML 検証エラー: 名前空間 'urn:nhibernate-mapping-2.2' の要素 'class' に名前空間 'urn:nhibernate の無効な子要素 'property' があります-mapping-2.2'. 予想される可能な要素のリスト: 名前空間「urn:nhibernate-mapping-2.2」の「meta、subselect、cache、synchronize、comment、tuplizer、id、composite-id」。---- System.Xml.Schema.XmlSchemaValidationException : 名前空間 'urn:nhibernate-mapping-2.2' の要素 'class' には、名前空間 'urn:nhibernate-mapping-2.2' に無効な子要素 'property' があります。予想される可能な要素のリスト: 名前空間「urn:nhibernate-mapping-2」の「meta、subselect、cache、synchronize、comment、tuplizer、id、composite-id」
Id automapper 規則を使用して、オーバーライド機能を使用してカスタム列を ID として設定するにはどうすればよいですか?
注:これは 1 つのエンティティのみです。一般的な ID マッピング規則を変更したくありません
。現在のオーバーライド関数は
public class AuthMap : IAutoMappingOverride<Auth>
{
public void Override(AutoMapping<Auth> mapping)
{
mapping.Table("x_auth");
mapping.Map(x => x.Id, "user_id");
mapping.Map(x => x.SessId, "sess_id");
}
}