Я пытаюсь использовать:
EnterpriseLibrary.Data.NetCore
.nuget \ packages \ предпринимаемыеibrary.data.netcore \ 6.0.1313
https://www.nuget.org/packages/EnterpriseLibrary.Data.NetCore/
.NET Core 2.1
У меня есть следующий JSON
{
"ConnectionStrings": {
"MyDefaultConnectionName": "Server=.\\MyInstance;Database=MyDB;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
И этот код работает нормально (в моем приложении Programnet для консоли dotnet) (просто показывает мои настройки приложения).json подбирается, и похоже, что моя структура строки соединения json выглядит правильно.
using Microsoft.Extensions.Configuration;
IConfiguration config = new ConfigurationBuilder()
.SetBasePath(System.IO.Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.Build();
string conString = Microsoft
.Extensions
.Configuration
.ConfigurationExtensions
.GetConnectionString(config, "MyDefaultConnectionName");
Console.WriteLine("MyDefaultConnectionName.conString='{0}'", conString);
и я вижу:
MyDefaultConnectionName.conString = 'Server =. \MyInstance; База данных = MyDB; Trusted_Connection = True; MultipleActiveResultSets = true '
Однако моя попытка использовать код не удалась:
using Microsoft.Practices.EnterpriseLibrary.Data;
using System.Data;
using System.Data.Common;
public DataSet GetADataSet()
{
DataSet returnDs = null;
string sql = "Select * from dbo.MyTable";
try
{
DatabaseProviderFactory factory = new DatabaseProviderFactory();
Database db = DatabaseFactory.CreateDatabase("MyDefaultConnectionName");
DbCommand dbc = db.GetSqlStringCommand(sql);
returnDs = db.ExecuteDataSet(dbc);
}
catch (Exception ex)
{
string temp = ex.Message;
throw ex;
}
return returnDs;
}
Исключение составляет:
Исключительная ситуация при запуске 'Select * from dbo.MyTable' ('MyDefaultConnectionName') ('Фабрика провайдера базы данных не установлена для статической DatabaseFactory. Задайте фабрику провайдера, вызывающую метод DatabaseFactory.SetProviderFactory или указав пользовательские сопоставления, вызвав DatabaseFactory.SetDatabases метод. ')
Я нашел эту ссылку ....
Microsoft.Practices.EnterpriseLibrary.Data.DLL, но не был обработан в коде пользователя *От 1035 *
до «старого» пре-дотнета ядра на основе xml.
Я тоже был на сайте проекта
https://github.com/Chavoshi/EnterpriseLibrary.NetCore
, но не могу найти работающий пример
..... в отношении моей строки кода выше:
DatabaseProviderFactory myFactory = new DatabaseProviderFactory ();
и сообщение об ошибке:
DatabaseFactory.SetProviderFactory
myFactory не имеет метода SetProviderFactory
........
Я пробовал это ... (но я знаю, что это действительноэто не то же самое, что атрибут xml (будущие читатели, не тратьте свое время на приведенный ниже json)
{
"ConnectionStrings": {
"MyDefaultConnectionName": "Server=.\\MyInstance;Database=MyDB;Trusted_Connection=True;MultipleActiveResultSets=true",
"providerName": "System.Data.SqlClient"
}
}
Какой магический синтаксис используется при использовании
https://github.com/Chavoshi/EnterpriseLibrary.NetCore
с консольным приложением dotnet core?WITH JSON
APPEND:
Основываясь на комментариях, я также гонялся за этим примером:
https://github.com/Chavoshi/EnterpriseLibrary.NetCore/tree/master/Examples
Один пример, основанный на xmlне основанный на json.