Контекст
У меня есть приложение, записывающее данные в базу данных SQLite, в котором созданы повторяющиеся записи. Я создаю инструмент командной строки, который считывает данные из базы данных и выводит данные, относящиеся к дублированным записям.
Я подключаюсь к базе данных SQLite с помощью EF Core, когда я запрашиваю таблицу для всех записей, свойство itemID каждой строки равно 1. Когда я открываю базу данных во внешних инструментах, значения отображаются как и ожидалось, с инкрементным идентификатором.
IEnumerable визуализатор фактического результата:

Ожидаемый результат, показанный в источнике данных с использованием внешнего инструмента

Технологии
[*].NET 8.0.2 [*]Microsoft.EntityFrameworkCore.SqlServer [*]Чтение файла .db3, созданного с помощью SQLite-NET-PCL 1.8.116 [*]Visual Studio 2022 – 17.9.1
СОЗДАТЬ ТАБЛИЦУ "DefectReportAnswer" ( "Report_id" варчар, "Item_id" целое число, «Примечание» варчар, "Начальная_дата" bigint, "Дата_конца" bigint, «Дефектное» целое число ) Код – класс модели:
публичный класс DefectReportAnswer { [Ключ] общественная строка Report_id {get; набор; } общественный ИНТ Item_id {получить; набор; } общедоступная строка? Примечание {получить; набор; } общественный System.DateTimeOffset Start_date {get; набор; } общественный System.DateTimeOffset End_date {get; набор; } public bool Defective { get; набор; } } Контекст:
внутренний класс SQLiteDefectReportContext: DbContext { общедоступный SQLiteDefectReportContext (строка dbPath) { ДбПат = БдПат; } общественный DbSet DefectReportAnswer {get; набор; } общественная строка DbPath {получить; частный набор; } защищенное переопределение void OnConfiguring (DbContextOptionsBuilder optionsBuilder) { base.OnConfiguring(optionsBuilder); optionsBuilder.UseSqlite($"Источник данных={DbPath}"); } защищенное переопределение void OnModelCreating (ModelBuilder modelBuilder) { modelBuilder.Entity() .Property(d => d.Start_date) .HasConversion( d => d.Ticks, dt => новый DateTimeOffset( новый DateTime(dt, DateTimeKind.Local).IsDaylightSavingTime() ? dt — TimeSpan.TicksPerHour: dt, новый TimeSpan(0) ) ); modelBuilder.Entity() .Property(d => d.End_date) .HasConversion( d => d.Ticks, dt => новый DateTimeOffset( новый DateTime(dt, DateTimeKind.Local).IsDaylightSavingTime() ? dt — TimeSpan.TicksPerHour: dt, новый TimeSpan(0) ) ); } } Основное
частный SQLiteDefectReportContext? _sqlite {получить; набор; } var constring = ConfigurationManager.ConnectionStrings["DBCS"]; _sql = новый SQLDefectReportContext (constringVal); вар ответы = _sqlite.DefectReportAnswer .Where(d => d.Report_id == reportID) .ToArray();