【问题标题】:Merge 2 POCO into 1 Class and execute CRUD将 2 个 POCO 合并为 1 个 Class 并执行 CRUD
【发布时间】:2013-04-18 08:41:59
【问题描述】:

我使用 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 映射到依赖对象。

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

【问题讨论】:

    标签: c# .net orm poco petapoco


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2016-05-29
      • 1970-01-01
      • 2013-11-05
      • 2012-06-26
      • 2023-03-05
      • 2020-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多