Entity Framework выдает ошибку: Неверное имя объекта - PullRequest
0 голосов
/ 28 июня 2019

Я получаю следующую ошибку в этом образце, который я получил, он выглядит правильно в найденных мной руководствах и документах.

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

У меня не так много подробностей об этом, но эта форма постоянно говорит мне, что она выглядит в основном как код, тогда мне нужно продолжать печатать.

System.Data.SqlClient.SqlException
HResult = 0x80131904
Сообщение = Неверное имя объекта «Персоны».
Источник = основной поставщик данных .Net SqlClient

Мой код:

using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace ConsoleApp
{
    public class BaseModel : DbContext
    {
        [Key]
        public int Id { get; set; }
        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
        {
            var strCnn = @"Data Source=localhost;Initial Catalog=TutorialDB;Integrated Security=True;Pooling=False";
            optionsBuilder.UseSqlServer(strCnn);
        }
    }
}

----------------

using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;
using Microsoft.EntityFrameworkCore;
using System.ComponentModel.DataAnnotations;

namespace ConsoleApp.Model
{
    public class Person : BaseModel
    {
        public DbSet<Person> Persons { get; set; }

        public Person() {}

        public Person(int _id, string _name) {
            this.Id = _id;
            this.Name = _name;
        }

        public string Name { get; set; }
    }
}

----------------

using System;
using System.Linq;
using System.Threading.Tasks;
using System.Collections.Generic;

namespace ConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            using (Model.Person p = new Model.Person()) 
            {
                p.Persons.Add(new Model.Person(01, "Name001"));
                _ = p.SaveChanges();
            }
        }
    }   
}

1 Ответ

0 голосов
/ 28 июня 2019

Как дикий удар в темноте, я бы сказал, что вы нигде не добавили конфигурацию для сущностей. Вам также нужны аннотации использования беглой конфигурации, чтобы сообщить EF, где искать вещи. Как это: https://www.entityframeworktutorial.net/efcore/configuration-in-entity-framework-core.aspx

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