Просто немного предыстории, извините, что так многословно.
Я использую адаптер System.Data.SQLite ADO.net для создания локальной базы данных sqlite, и это будет единственный процесс, обращающийся к базе данных, поэтому мне не нужно беспокоиться о параллелизме.
Я создаю базу данных из разных источников и не хочу создавать все это в памяти, используя наборы данных или адаптеры данных или что-то в этом роде. Я хочу сделать это с помощью SQL (DdCommands). Я не очень хорошо разбираюсь в SQL и полный нуб в sqlite. Я в основном использую sqlite в качестве локальной базы данных/файловой структуры сохранения.
В базе данных есть много связанных таблиц, и данные не имеют ничего общего с людьми, регионами или районами, но, используя простую аналогию, представьте:
Таблица регионов с автоинкрементом RegionID, столбцом RegionName и различными необязательными столбцами.
Таблица районов с автоматическим увеличением DistrictID, DistrictName, RegionId и различными необязательными столбцами
Таблица лиц с автоматическим увеличением PersonID, PersonName, DistrictID и различными необязательными столбцами
Итак, я получаю некоторые данные, представляющие RegionName, DistrictName, PersonName и другие данные, связанные с Person. Регион, район и/или лицо могут быть созданы или не созданы на этом этапе.
Еще раз, не будучи лучшим в этом, мои мысли будут примерно такими:
- Проверьте, существует ли регион, и если да, то получите идентификатор региона.
- иначе создайте его и получите RegionID
- Проверьте, существует ли District, и если да, то получите DistrictID.
- иначе создайте его, добавив в RegionID сверху и получите DistrictID
- Проверьте, существует ли Person, и если да, то получите PersonID.
- иначе создайте его, добавив в DistrictID сверху и получите PersonID
- Обновите Person с остальными данными.
В MS SQL Server я бы создал хранимую процедуру для обработки всего этого.
Единственный способ, которым я могу это сделать с помощью sqlite, - это множество команд. Так что я уверен, что не понимаю этого. Я провел часы, осматривая различные сайты, но просто не чувствую, что иду по правильному пути. Любые предложения будут ценны.