0 Вопрос: Контекст EntityFramework не получает никаких данных при создании в другом проекте.

вопрос создан в Wed, May 8, 2019 12:00 AM

Товарищи по кодированию,

Я сталкиваюсь со странной проблемой, связанной с использованием Entity Framework, и мне хотелось бы понять, в чем причина этого:

У меня есть общий проект ( Project A ) в решении, которое содержит мой класс модели данных Foo.cs.

Эта модель данных используется в другом основном проекте asp ( Проект B ) и связана с базой данных через специфический контекст приложения. Я обновил базы данных, используя «Code First» подход.

Я могу без проблем выполнять операции с базами данных из Проекта B (загружать данные, извлекать их и т. д.).

Но теперь я хотел бы также выполнить манипуляции с Проектом A . Итак, я наивно создал новый DbContext в этом проекте (я не могу сослаться на тот из Project B , там уже есть ссылка от A до B), но при попытке загрузить данные, я получаю пустые записи, несмотря на то, что он хорошо подключается к базе данных.

public class ProjectADbContext : DbContext
{
    public ProjectADbContext (string connectionString) : base(connectionString)
    {
    }

    public DbSet<Foo> Foos { get; set; }
}


public class GetDatas
{
    private static void GetDatas()
    {
        using (ProjectADbContext context = new ProjectADbContext (Configuration.RemoteDBConnectionString))
        {
            context.Foos.Load(); //Get an empty record list
        }
    }

Что я делаю не так? Думает ли EF, что это не один и тот же тип данных между двумя контекстами?

Спасибо за вашу помощь.

    
0
  1. Вы уверены, что переданная строка подключения верна? Класс конфигурации должен зависеть от проекта, поэтому они могут быть разными. несоответствия типов данных не могут иметь место, поскольку EF просто выполняет сопоставление свойств при преобразовании набора результатов; либо его конфигурация отличается, поэтому он просматривает другую таблицу, другую схему или другую базу данных.
    2019-05-08 23: 23: 54Z
  2. Вы установили пакет нативных объектов EntityFrameworkCore в ProjectA?
    2019-05-09 00: 53: 42Z
  3. @ DevilSuichiro yes строка подключения верна; на самом деле это хорошо соединяется с БД. Что вы подразумеваете под "EF смотрит на другую таблицу или в другую схему"? Как выбирается стол? Поскольку оба контекста относятся к одной и той же базовой модели, это должна быть одна и та же таблица, не так ли? И есть только одна БД.
    2019-05-09 20: 44: 34Z
  4. @ LawrenceZahner Фактически один проект выполняется в .NET Standard, а другой - в .NET Core. Как вы думаете, это может привести к проблеме?
    2019-05-09 20: 45: 28Z
0 ответов                              0                         
источник размещен Вот