1

我将 PetaPoco 用作 ORM,并希望将 2 个 POCO 组合成 1 个类,然后使用该类执行 CRUD 操作。

现在我得到了这样的东西:

*表人有一个 fk address_id。*

public class Person
{
    public PersonPOCO Person { get; set; }
    public AddressPOCO Address { get; set; }

    public Person(string sql)
    {
        Person = Db.SingleOrDefault<PersonPOCO>(sql);
        Address = Db.SingleOrDefault<PersonPOCO>("SELECT * FROM addresses WHERE id = @0, PersonPoco.address_id");
    }

    public void Save()
    {
        var addressId = Db.Save(Address); // Returns inserted ID

        Person.address_id = addressId;
        Db.Save(Person);
    }
}

到目前为止,这工作正常。但是对于每个需要的组合,这样做真的很烦人和重复。

特别是保存是一种痛苦,因为我必须将插入的 ID 映射到依赖对象。

有没有更好的方法来实现这一目标?

4

1 回答 1

1

PetaPoco 被设计为快速和轻量级,所以你不会发现像 Linq-to-sql 或 EF 这样的复杂映射。

于 2013-04-19T01:51:11.807 回答