-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; }
}

联系人数据库中的表将有这 3 列

  • ID
  • 姓名
  • 地址 ID

因此,当我使用connection.Insert<>函数保存联系人时,我希望将Address转换为Address.Id并映射到 Contact 表中的 AddressId 列。

我知道我可以在我的 Contact 类中添加一个 AddressId 属性,然后它将被保存。但是后来我污染了我的 Contact 类,只是为了让 Dapper 使用它。还有一种方法是不使用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 回答