我将 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 映射到依赖对象。
有没有更好的方法来实现这一目标?