C# 将2个POCO合并为1个类并执行CRUD
我使用PetaPoco作为ORM,希望将2个POCO组合成1个类,然后用这个类执行CRUD操作 现在我得到了这样的东西: *Table Person有一个fk地址\u id*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
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这样的复杂映射