-1

オブジェクトが別のオブジェクトのプロパティである場合、dapperexstension マッピングを使用してオブジェクトを値 (id) にマップする方法はありますか。ここに例があります。

public class Contact
{
    public int Id { get; set; }
    public string Name { get; set; }
    public Address Address { get; set; }
}

public class Address
{
    public int Id { get; set; }
    public string Street { get; set; }
}

Contact のデータベースのテーブルには、この 3 つの列があります。

  • ID
  • 名前
  • アドレス ID

したがって、connection.Insert<>関数を使用して連絡先を保存するときに、AddressをAddress.Idに変換し、Contact テーブルの AddressId 列にマップする必要があります。

Contact クラスに AddressId プロパティを追加すると、それが保存されることがわかっています。しかし、Dapper で使用するためだけに Contact クラスを汚染します。connection.Insertメソッドを使用せず、代わりに Sql Insert ステートメントを記述し、それをconnection.Queryで使用する方法もあります。ただし、Contact クラスを変更したらすぐに SQL ステートメントを変更することを忘れないでください。

だから私はこのようなものを探しています。

Map(m => m.Address).Columns("AddressId").UseValue(m.Id);
4

1 に答える 1

0

DapperExtensions は単純な orm オーバーレイです。現在、集約オブジェクトをサポートする予定はありません。

于 2014-04-10T19:57:28.597 に答える