У меня ниже классы poco
public class People
{
public int Id { get; set; }
public string Name { get; set; }
}
public class Contacts
{
public int Id { get; set; }
public string Name { get; set; }
}
public class PeopleContact
{
[ForeignKey("People")]
public int PeopleId { get; set; }
[ForeignKey("Contact")]
public int ContactId { get; set; }
}
Я пытался вставить данные, как показано ниже
List<People> people = new List<People>()
{
new People(){Name="Andrew Boston", Id= 1},
new People(){Name="Richa Chicago" ,Id= 2},
new People(){Name="Dave Phoenix", Id= 3 },
new People(){Name="Ema Washington", Id= 4}
};
List<Contacts> contacts = new List<Contacts>()
{
new Contacts(){Name="John Boston", Id = 1},
new Contacts(){Name="Mario Chicago", Id = 2},
new Contacts(){Name="Lessi Phoenix", Id = 3},
new Contacts(){Name="Anna Washington",Id = 4},
new Contacts(){Name="Albert Texas", Id = 5},
new Contacts(){Name="Rogi Los Angeles", Id = 6},
new Contacts(){Name="Nesh Atlanta", Id = 7}
};
List<PeopleContact> peopleContacts = new List<PeopleContact>()
{
new PeopleContact(){PeopleId=1, ContactId = 1},
new PeopleContact(){PeopleId=2, ContactId = 2},
new PeopleContact(){PeopleId=1, ContactId = 3},
};
в инициализаторе базы данных, я написал ниже
if (!db.TableExists("PeopleContact"))
{
db.CreateTable<PeopleContact>();
db.InsertAll<PeopleContact>(peopleContacts);
}
, но это выдает мне ошибку System.Data.SQLite.SQLiteException: 'ограничение не выполнено. Не удалось выполнить ограничение UNIQUE: PeopleContact.PeopleId'
Я уже определил отношение, поэтому я не знаю, почему он вызывает ошибку.