Нет возможности добавить файл EDMX в проект в решении MVC - PullRequest
0 голосов
/ 21 февраля 2019

Я создал приложение MVC.Теперь я хотел бы добавить новый проект библиотеки классов в решение, а затем добавить файл EDMX в этот проект.

Раньше это было легко.Но теперь мне нужно выбирать между .NET Core и .NET Standard.Но, похоже, это не имеет значения, какой я выберу, потому что, если я создаю библиотеку классов с любой из этих платформ, Visual Studio не предоставляет возможности для добавления файла EDMX к ним!И я не вижу возможности добавить стандартную библиотеку классов .NET Frameworks.

Итак, что такое секретное заклинание, чтобы добавить новый проект в мое решение MVC, а затем добавить файл EDMX в этот проект?

Примечание. У меня есть возможность добавить файл EDMX непосредственно в проект MVC.Но я бы предпочел поместить его в отдельный проект, который я делал раньше.

Ответы [ 4 ]

0 голосов
/ 02 марта 2019

@ Джонатан: Файл EDMX - это старый способ работы.EDMX - это не что иное, как шаблон T4, который облегчает создание edmx.

. .Net Core - лучший способ: 1. Создать проект библиотеки ядра .net.Добавьте пакет nuget entityframeworkcore из здесь 2. Используйте эту ссылку, чтобы сгенерировать вашей модели из БД

Концепция EDMX больше не поддерживается.

Надеюсь, это поможет.

0 голосов
/ 24 февраля 2019

На основании вашего описания вы используете старую платформу ASP.NET MVC, а не новую базовую, и в этом случае вы используете фреймворк Full .NET.Поэтому, когда вы создаете новый проект библиотеки классов, вы должны делать это с помощью Full .NET Framework, поскольку .NET Core и .NET Standard не поддерживают EDMX.Если вы выбрали эту модель, вы можете добавить к ней модель Entity Data объекта ADO.NET:

enter image description here

0 голосов
/ 02 марта 2019

По крайней мере для EF v6, если вы используете EF Migrations, каждый ('state' / 'target') снимок базы данных (хранится в таблице базы данных истории миграции и файле миграции) представляет собой файл EDMX, который просто ожидаетдекодируется, сохраняется в файл, а затем загружается в VS (Visual Studio).;)

Это немного углубленно (или, по крайней мере, сложно), но 'System.Data.Entity.Migrations.Edm.ModelCompressor' может представить подсказку.

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

0 голосов
/ 24 февраля 2019

Файл EDMX устарел в EF Core, и я считаю, что он также был удален из основных проектов .net.Если вам нужно сделать это, вам может понадобиться добавить его в обычный проект .net 4.5 и скопировать файлы, но это будет бессмысленно использовать с ядром .net или стандартом .net.

Вы должны бытьв любом случае использовать Code First, так как он более чистый и простой в использовании.

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

https://docs.microsoft.com/en-us/ef/core/get-started/aspnetcore/existing-db

...