Невозможно сгенерировать таблицу базы данных с использованием подхода Entity Framework Code First - PullRequest
0 голосов
/ 27 июня 2018

Напишите следующий простой код, чтобы узнать о подходе Entity Framework Code First. Но я не могу заставить его работать.

Также не получаю никакой ошибки. При проверке созданного файла .mdf запись не найдена.

Невозможно определить проблему даже во время отладки кода. Может кто-нибудь подсказать, пожалуйста, где я делаю не так!

Ниже мой код.

Ниже находится класс Person

namespace EFCF
{
    public class Person
    {
        public int PersonId { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}

Ниже приведен контекстный класс

namespace EFCF
{
    public class Context : DbContext
    {
        public DbSet<Person> Persons { get; set; }
    }
}

Ниже приведена тестовая программа, написанная в консольном приложении.

namespace TestEFCF
{
    class Program
    {
        static void Main(string[] args)
        {
            //Insert person record
            using (var context = new Context())
            {
                context.Database.CreateIfNotExists();
                Person person = new Person
                {
                    PersonId = 1001,
                    FirstName = "Ashok",
                    LastName = "Kumar"
                };
                context.Persons.Add(person);
            }

            //Get person record
            using (Context context = new Context())
            {
                var people = context.Persons;
                foreach (var person in people)
                {
                    Console.WriteLine(person.PersonId + "\t" + person.FirstName + "\t" + person.LastName);
                }
            }
            Console.Write("Press any key to continue...");
            Console.ReadKey();
        }
    }
}

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Маленькая ошибка в моем предыдущем коде.

Нет необходимости включать миграции для этой конкретной ситуации. Просто добавьте команду context.SaveChanges() в нужном месте, как показано ниже.

Ниже приведен полный код.

        //Insert person record
        using (var context = new Context())
        {
            context.Database.CreateIfNotExists();
            Person person = new Person
            {
                FirstName = "Ashok",
                LastName = "Kumar"
            };
            context.Persons.Add(person);
            context.SaveChanges();
        }
0 голосов
/ 27 июня 2018

Сначала необходимо выполнить команду Add-Migration <YourMigrationName> (эквивалентно генерации сценария миграции в подходе БД) из консоли диспетчера пакетов в Visual Studio. Затем выполните команду Update-Database (это эквивалентно запуску сценария миграции в первом подходе БД), чтобы применить миграцию.

Вы можете обратиться к этой странице для подробной информации.

Примечание. Удалите ненужный код из кода C # для создания базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...