Автоинкремент внешних ключей не работает в sqlite .NET провайдере - PullRequest
0 голосов
/ 28 сентября 2011

Я вставляю несколько данных в таблицу sqlite и получаю всегда один и тот же идентификатор.Но поле Id настроено как PK + autoinc Id.

Я использую это в качестве строки подключения:

public static void SetConnectionString(string dataDataAccessPath)
        {
            _connectionString = String.Format(@"Data Source={0};Foreign Keys=ON", dataDataAccessPath);
        }

Этот "Foreign Keys = ON" был реализован для соединения, кроме "PRAGMA"foreign_keys = ON; "который должен был выполняться для каждого открытого соединения.

Теперь мне интересно, почему не работает новый атрибут в строке соединения ...

Что-то не так?

1 Ответ

0 голосов
/ 28 сентября 2011

Я не эксперт по SQLite (на самом деле у меня нет практического опыта работы с ним), но я хотел бы представить, что независимо от того, будут ли ваши поля IDENTITY автоматически увеличиваться с вашей вставкой, что-то большее с определением таблицы, чем с используемой строкой соединения.

Напоминаем, что вы не можете увеличивать FOREIGN KEY как таковые, но вам нужно увеличивать таблицу с полем IDENTITY, которое служит PRIMARY KEY, на которое ссылается FOREIGN KEY.

Можете ли вы добавить определение таблицы, с которой у вас проблемы?

...