Чтобы сопоставить типы данных столбцов в базе данных и в классеC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Чтобы сопоставить типы данных столбцов в базе данных и в классе

Сообщение Anonymous »


Вопрос: какие типы столбцов следует использовать в базе данных и в классе для корректной работы приложения?

Проект: https://github.com/jhon65496/TypeDataCnsl01

Используется SQLite

Проблема со столбцами IndexValue, Discount. Цель — получить данные из базы данных и выполнить вычисления.

Если:
[*]в базе данных столбцы IndexValue, Discount имеют тип DECIMAL(10, 5),; [*]в классе Index поля IndexValue, Discount имеют тип string.
тогда проблем нет и я получаю данные.

Если
[*]в базе данных столбцы IndexValue, Discount имеют тип DECIMAL(10, 5); [*]в классе Index поля IndexValue, Discount имеют тип decimal.
Во время отладки я получаю сообщение об ошибке.

Ошибка:

Получатель звонка создал исключение

Ошибка возникает на линии

var items = indexesRepository.Items.toArray(); в методе Load Data() класса IndexesViewModel.

публичный класс IndexesViewModel { // ... // Код // ... публичная недействительность LoadData() { вар элементы = indexesRepository.Items.ToArray(); Индексы = новый ObservableCollection(элементы); } } Используется:
[*]Консоль .NET Framework; [*]System.Data.SQLite.
Код

Индекс класс:

[Таблица("Индексы")] индекс общественного класса { общественный ИНТ Id {получить; набор; } общедоступная строка Имя {get; набор; } общедоступная строка Описание {get; набор; } // десятичная дробь // плавать общественный десятичный IndexValue {get; набор; } общественная десятичная скидка {получить; набор; } } DbContextIndexes:

публичный класс DbContextIndexes: DbContext { статический SQLiteConnection sqliteConnection; public DbContextIndexes(): base("DefaultConnection") { } индексы public DbSet {get; набор; } } IndexesRepository:

class IndexesRepository { частный только для чтения DbSet _Set; DbContextIndexes _db; общедоступный IndexesRepository (DbContextIndexes db) { _дб = дб; _Set = _db.Set(); } частные элементы IQueryable; общедоступные виртуальные элементы IQueryable { получать { предметы = _Set; возврат товаров; } набор { предметы = значение; } } } IndexesViewModel:

публичный класс IndexesViewModel { ИндексыРепозиторий indexesRepository; DbContextIndexes DataContextApp; публичные индексыViewModel() { this.DataContextApp = новый DbContextIndexes(); indexesRepository = новый IndexesRepository(this.DataContextApp); ЗагрузитьДанные(); } частные индексы ObservableCollection; общедоступные индексы ObservableCollection { получить {возврат индексов; } набор { индексы = значение; } } публичная недействительность LoadData() { вар элементы = indexesRepository.Items.ToArray(); //
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»