Arhn - архитектура программирования

Как добавить сущность-фреймворк в консольное приложение (изображения прилагаются)

Я пытаюсь добавить сущность-фреймворк в консольное приложение: я нажимаю «добавить новый элемент» и введите здесь описание изображения

затем введите здесь описание изображения

тогда

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

затем я добавил код:

    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                Database1Entities db = new Database1Entities();
                db.AddToTableTest(new TableTest { name = "name" });
                db.SaveChanges();

                int count = db.TableTest.Count();
                int ui = 9 + 0;
            }
            catch (Exception e)
            {

            }
        }
    }

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


  • Откуда вы знаете, что это не дает ошибки, если вы проглатываете исключение? 14.11.2012
  • Вы должны выводить ошибку до тех пор, пока не будете уверены, что она работает. Если у вас есть try / catch, то вы узнаете об исключении только в блоке catch. Если у вас его вообще нет, но вы занимаетесь отладкой, вместо этого вы найдете информацию об этом в строке с ошибкой, чтобы вы могли увидеть, что с ним не так. (В VS есть варианты, чтобы изменить это поведение, но это по умолчанию) 14.11.2012
  • Ваш файл базы данных mdf был скопирован в выходной каталог? возможно, он заменяется каждый раз, когда вы нажимаете F5. 'int count' всегда возвращает 1? 14.11.2012

Ответы:


1

Я сделал те же шаги, что и вы, для настройки модели EF. в вашем файле database.mdf для Copy to Output Directory установлено значение Copy always, это означает, что каждый раз, когда вы нажимаете F5 (создаете или отлаживаете свое приложение), файл заменяется пустым в вашем проекте.

Изменение Copy to Output Directory в окне свойств файла mdf должно решить вашу проблему.

Если вы используете Copy if newer, вы будете сохранять любые изменения содержимого базы данных до тех пор, пока не отредактируете саму базу данных (mdf).

С Do not copy любое изменение в файле mdf не отразится на вашем приложении и, вероятно, вызовет проблемы с EF.

Я рекомендую для этого сценария использовать Copy if newer и заполнить основные данные в файле mdf, чтобы они всегда были доступны.

14.11.2012
  • Пробовал разные комбинации, и Копировать, если новее тоже. но когда я закрываю соединение с базой данных, а затем обновляю его, count все еще = 1 14.11.2012
  • что вы имеете в виду под обновлением? пожалуйста, используйте что-то вроде этого и вставьте свои результаты: pastebin.com/MdwgeHKn 15.11.2012
  • Результаты просты. Если я просто нажму F5 5 раз, count = 5. но если я закрою проект и открою его, а затем нажму F5, count будет = 1. Так что я думаю, вы правы, база данных заменяется новой. Но как это остановить? 15.11.2012
  • Просто используйте «Не копировать» для файла mdf, но помните об этом, когда будете вносить изменения в mdf. Вы также можете изменить строку подключения, чтобы пути вели к файлу mdf в папке вашего проекта, а не в папке bin. что-то вроде «../../database.mdf» вместо «database.mdf» в вашем app.config 15.11.2012
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..