уникальная ошибка нарушения ограничения ormlite - PullRequest
0 голосов
/ 02 марта 2020

У меня ниже классы 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'

Я уже определил отношение, поэтому я не знаю, почему он вызывает ошибку.

...