Веб-приложение .NET Core с использованием бизнес-уровня .NET Framework с - PullRequest
0 голосов
/ 14 мая 2019

В моем решении у меня есть бизнес-уровень, содержащий несколько проектов, нацеленных на .NET Framework 4.7 (включая слой доступа к данным EntityFramework и много логики). Теперь я хочу сделать веб-приложение с .NET Core 2.2. Я понимаю, что .NET Core не совместим с .NET Framework, но .NET Standard совместим с обоими. Преобразование бизнес-уровня из .NET Framework в .NET Standard или .NET Core не вариант, так как это просто слишком много работы.

Мой вопрос:

Можно ли добавить проект .NET Standard на моем бизнес-уровне в качестве посредника, принимая все запросы от веб-приложения .NET Core и вызывая код (включая доступ к данным EF) в моих проектах .NET Framework?

1 Ответ

2 голосов
/ 14 мая 2019

Нет.Это невозможно.Независимо от того, сколько слоев вы добавляете между ними, все еще существует зависимость от EF6, которую в настоящее время не поддерживает .NET Core.У вас есть два варианта:

  1. Вы также можете сделать целевой проект ASP.NET Core целевым .NET Framework.То, что в названии указано «Core», не означает, что он должен быть нацелен на .NET Core.Конечно, вы не сможете запускать кроссплатформенность в этот момент, но если вы уже запускаете части приложения, нацеленные на .NET Framework, это, вероятно, не проблема.

  2. Вы можете полностью игнорировать текущий код и создать отдельный DAL для приложения ASP.NET Core, которое использует EF Core и обрабатывает базу данных как существующую, что позволяет вам создавать в сущностях леса для представления базы данных.Это, конечно, добавляет некоторое дублирование кода, но, поскольку вы можете просто переназначить код в любое время при изменении базы данных, оно относительно незначительное.будет изначально поддерживать EF6, поэтому после его выпуска вы можете нацеливаться на .NET Core без проблем.

...