我使用PetaPoco作为ORM,并希望将2个POCO合并为1个类,然后使用此类执行CRUD操作。
* Table Person有一个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映射到依赖对象。
有没有更好的方法来实现这一目标?
答案 0 :(得分:1)
PetaPoco的设计既快又轻,所以你不会发现像Linq-to-sql或EF这样的复杂映射。