@Dant3lion

Как подключить локальную базу данных, используя для доступа к ней LINQ?

Была создана база данных в DBBrowser for SQLite. Добавил ее в проект, создал контекст, но при попытке ввода логина и пароля для авторизации, проверка не проходит. Подскажите, в чем ошибка при подключении?
пример проекта
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using System.Data;
using System.Data.Entity;
using System.Data.SQLite;
using StudentGroups.Class;


namespace StudentGroups.Windows
{
    /// <summary>
    /// Логика взаимодействия для Authorize.xaml
    /// </summary>
    public partial class Authorize : Window
    {

        Class.AppContext db = Class.AppContext.GetContext();
        public Authorize()
        {
            InitializeComponent();
            
            
        }

        private void Window_MouseDown(object sender, MouseButtonEventArgs e)
        {
            if (e.LeftButton == MouseButtonState.Pressed)
                DragMove();
        }

        private void PreCloseBT_Click(object sender, RoutedEventArgs e)
        {
            WindowState = WindowState.Minimized;
        }

        private void CloseBT_Click(object sender, RoutedEventArgs e)
        {
            Close();
        }





        private void AuthorBt_Click(object sender, RoutedEventArgs e)
        {
            try
            {

                var AuthPerson = db.Authorize.FirstOrDefault(x => x.login == logBox.Text && x.user_pass == passBox.Password);
                if (AuthPerson == null)
                {
                    MessageBox.Show("Такого пользователя нет!", "Ошибка при авторизации", MessageBoxButton.OK, MessageBoxImage.Error);
                }
                else
                {
                    switch (AuthPerson.ID_role)
                    {
                        case 1:
                            MessageBox.Show("Здравствуйте, Администратор " + "!", "Уведомление", MessageBoxButton.OK, MessageBoxImage.Information);
                            break;
                        case 2:
                            MessageBox.Show("Здравствуйте, Учитель " + "!", "Уведомление", MessageBoxButton.OK, MessageBoxImage.Information);
                            break;
                        case 3:
                            MessageBox.Show("Здравствуйте, Куратор " + "!", "Уведомление", MessageBoxButton.OK, MessageBoxImage.Information);
                            break;
                    }
                    //  Author. = AuthPerson.ID_role;
                    MainWindow a = new MainWindow();
                    a.Show();
                    Close();
                }
            }
            catch (Exception Ex)
            {
                MessageBox.Show("Ошибка!!! " + Ex.Message.ToString() + " Критическая работа приложения!!!", "Уведомление", MessageBoxButton.OK, MessageBoxImage.Warning);
            }
        }
    }
}

База данных
644a974b8058a126350732.png

Контекст
644a975627e78490138072.png

Класс авторизации
644a977196b94683431707.png

App config (Подключение)
644a97b52ef9c425927672.png
  • Вопрос задан
  • 124 просмотра
Решения вопроса 1
yarosroman
@yarosroman Куратор тега C#
C# the best
1. Делать контекст базы синглтоном это плохо!!!!
2. Иcпользуйте Code First и миграции https://learn.microsoft.com/ru-ru/ef/core/get-star...
3. Добавьте данные в БД через приложение, видать косяк с кодировками может быть.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы