C# 将2个POCO合并为1个类并执行CRUD

C# 将2个POCO合并为1个类并执行CRUD,c#,.net,orm,poco,petapoco,C#,.net,Orm,Poco,Petapoco,我使用PetaPoco作为ORM,希望将2个POCO组合成1个类,然后用这个类执行CRUD操作 现在我得到了这样的东西: *Table Person有一个fk地址\u id* public class Person { public PersonPOCO Person { get; set; } public AddressPOCO Address { get; set; } public Person(string sql) { Person

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

现在我得到了这样的东西: *Table Person有一个fk地址\u 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);
    }
}
公共类人物
{
public PersonPOCO Person{get;set;}
公共地址POCO地址{get;set;}
公众人物(字符串sql)
{
Person=Db.SingleOrDefault(sql);
Address=Db.SingleOrDefault(“从地址中选择*,其中id=@0,PersonPoco.Address_id”);
}
公共作废保存()
{
var addressId=Db.Save(Address);//返回插入的ID
Person.address_id=地址id;
Db.Save(人);
}
}
到目前为止,这一切都很顺利。 但对于每一个需要的组合,这样做会变得非常烦人和重复

尤其是保存是一件痛苦的事情,因为我必须将插入的ID映射到依赖对象


有更好的方法来实现这一点吗?

PetaPoco的设计是快速和轻量级的,因此,您不会发现像Linq到sql或EF这样的复杂映射。

PetaPoco的设计是快速和轻量级的,因此,您不会发现像Linq到sql或EF这样的复杂映射