У меня есть библиотека репозитория, которую я использую с приложением MVC. Отлично работает без проблем.
В настоящее время я создаю новое клиентское приложение с использованием .Net Core. Я ссылался на свой существующий проект репозитория, который имеет целевую среду 4.6.1. Я могу построить без проблем.
Когда я пытался получить доступ к данным, используя существующий контекст БД. Я получил сообщение об ошибке, что не удалось найти строку DefaultConnection .
public class MyAppContext : DbContext
{
public MyAppContext():base("name=DefaultConnection"){}
это соединение, которое у меня есть в моем config.json
"ConnectionStrings": {
"DefaultConnection": "Data Source=[SERVER]; Initial Catalog=[CATALOG]; User ID=[USERID];
Password=[PASSWORD];MultipleActiveResultSets=true;" },
Я добавил файл app.config в свое приложение .Net Core, как показано ниже
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework">
<parameters>
<parameter value="System.Data.SqlClient" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
<connectionStrings>
<add name="DefaultConnection" connectionString="Data Source=[SERVER]; Initial Catalog=[CATALOG]; User ID=[USERID];
Password=[PASSWORD];MultipleActiveResultSets=true; " providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
и теперь я получаю сообщение об ошибке ниже
Сообщение «Тип поставщика Entity Framework
«System.Data.Entity.SqlServer.SqlProviderServices,
EntityFramework.SqlServer 'зарегистрирован в конфигурационном файле приложения
для провайдера ADO.NET с инвариантным именем «System.Data.SqlClient»
не может быть загружен. Убедитесь, что полное имя сборки
используется и что сборка доступна для запущенного приложения.
Смотрите http://go.microsoft.com/fwlink/?LinkId=260882 для более
информация ". строка
Я попытался установить .net EntityFramework в свое основное приложение .net, и я получил предупреждение о том, что оно не будет полностью совместимо, и я получал ту же ошибку, только укороченная версия.
Как создать веб-приложение .Net Core для совместного использования библиотеки .Net 4.6, не переписывая их для использования .Net Core?