Domanda

I am using PetaPoco as an ORM and want to combine 2 POCO into 1 class and then execute CRUD operations with this class.

Right now I got something like this:

*Table Person has an 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);
    }
}

This is working fine so far. But it gets really annoying and repetive doing this for every needed Combination.

Especially saving is a pain, since I have to map the inserted ID to the dependent object.

Are there better ways to achieve this?

È stato utile?

Soluzione

PetaPoco is designed to be fast and lightweight, so, you won't find this kind of complex mapping like Linq-to-sql or EF have in it.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top