У меня есть класс, определенный так:
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; }
}
И таблица базы данных для этого - просто «местоположения» с идентификатором и свойством Name.
Некоторые другие таблицы «встреч» имеют внешний ключ к этой таблице. И это выходит за рамки того, с чем я пытаюсь работать в этом примере, но я думаю, что это вызывает сбой 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,
Культура = нейтральная, PublicKeyToken = ноль]]
известному управляемому провайдеру
типа. "}
Мне кажется, что существование дочерней коллекции приводит к тому, что PetaPoco не может выполнить вставку, но ... должен быть способ заставить ее "игнорировать" это, верно?