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