Могу ли я использовать базу данных MVC 5 для основного приложения asp.net? - PullRequest
1 голос
/ 08 апреля 2019

Я переписываю относительно простое приложение C # MVC 5 для ASP.net Core. Мне нужно использовать те же данные в этой базе данных. Можно ли использовать одну и ту же базу данных и просто подключиться к ней с помощью EF Core? Или мне нужно создать полностью новую базу данных и перенести данные в эту новую базу данных?

Ответы [ 3 ]

1 голос
/ 08 апреля 2019

Вы можете использовать одну и ту же базу данных для любого языка, инфраструктуры, ..., если язык поддерживает соединение с этой СУБД.

БД не должна знатьо том, как создаются приложения, которые его используют.Его цель - хранить данные.Вы не хотите клонировать одну и ту же БД для разных приложений, это может привести к разным данным между приложениями.

Например:

                             [Mobile application written in swift]
                                                |
                                                |
                                                |
                                                |
                                                V
[Web application written in php] ----------- > [DB] < ----------- [Fat client written in C#]
                                                ^
                                                |
                                                |
                                                |
                                                |
                       [Alien spaceship embedded software written in klingon]
0 голосов
/ 08 апреля 2019

Можно использовать EF6 с ASP.NET Core.«Рекомендуемый способ использования Entity Framework 6 в приложении ASP.NET Core - поместить классы EF6 и классы модели в проект библиотеки классов, предназначенный для полной структуры».
Вот документация с примером кода https://docs.microsoft.com/en-us/aspnet/core/data/entity-framework-6?view=aspnetcore-2.1

Кроме того, Microsoft не рекомендует переносить с EF6 на EF Core «если у вас нет веских причин для внесения изменений».Если вы хотите сделать это, пожалуйста, прочитайте документацию и убедитесь, что вы соответствуете требованиям.https://docs.microsoft.com/en-us/ef/efcore-and-ef6/porting/

0 голосов
/ 08 апреля 2019

Да, вы можете использовать это Creating a Model for an Existing Database в Entity Framework Core Используйте Scaffold-DbContext для создания модели на основе вашей существующей базы данных. С помощью консоли Scaffold-DbContext in Package Manager можно указать следующие параметры:

Scaffold-DbContext [-Connection] [-Provider] [-OutputDir] [-Context] [-Schemas>] [-Tables>] 
                    [-DataAnnotations] [-Force] [-Project] [-StartupProject] [<CommonParameters>]

В Visual Studio select menu Tools -> NuGet Package Manger -> Package Manger Console и выполните следующую команду:

PM> Scaffold-DbContext "Server=.\SQLExpress;Database=SchoolDB;Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

Официальные документы или

Первая разработка с использованием Entity-Framework-Core-Core-Database Первая разработка

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