petapoco插入问题

时间:2011-05-17 21:09:23

标签: orm petapoco

我有一个如此定义的类:

public class Location
{
    public Location()
    {
        Meetings = new List<Meeting>();
    }

    public virtual int ID { get; private set; }
    public virtual string Name { get; set; }

    public virtual ICollection<Meeting> Meetings { get; set; }

}

此数据库表只是具有ID和Name属性的“locations”。

其他一些表“会议”有一个外键回到此表。它超出了我在这个例子中尝试使用的范围,但我认为这会导致PetaPoco失败......

我正在尝试使用PetaPoco将新位置插入数据库,如下所示:

    public int AddLocation(string name)
    {
        var newLocation = new Location{Name = name};
        var db = new PetaPoco.Database(_connectionString);
        db.Insert("locations", "ID", newLocation);
        return newLocation.ID;
    }

它正在抛出一个错误:

  

{“对象类型不存在映射   System.Collections.Generic.List`1 [NHRepoTemplate.sampleUsage.sampleModel.Meeting,   NHRepoTemplate,版本= 1.0.0.0,   Culture = neutral,PublicKeyToken = null]]   到已知的托管提供商本机   键入。“}

在我看来,子集合的存在导致PetaPoco无法进行插入,但是......必须有一种方法告诉它“忽略”那个,对吗?

2 个答案:

答案 0 :(得分:6)

尝试将其放在Meetings属性上:

[PetaPoco.Ignore]

答案 1 :(得分:0)

如果您在petapoco类上方使用[ExplicitColumns]属性,则所有不具有[Column]属性的属性都将被忽略