ASP.netコアでデータベース接続文字列を設定する方法に関するリソースを見つけることに挑戦しています。私は、下記のappsettings.jsonファイルに接続文字列を追加しました:.Net Coreアプリケーションでのデータベース接続の設定
{
"ConnectionStrings": {
"MTDatabase": "Server=ss-demo-7-sep112;Database=MTDB;Trusted_Connection=True;"
}
}
が、私の一般的なレポジトリにこの接続文字列にアクセスする方法を見つける必要があります。それはすべてのデータアクセスレイヤのものが含まれている私の.netコアアプリケーションへの別個のプロジェクトにあります。以下は私の接続ストリングを取得しようとしている私の一般的な倉庫です。
using System.Text;
using System.Data.Entity;
using System.Data.Entity.Infrastructure;
using System.Configuration;
using System.Data.Entity.Core.Objects;
namespace HaldanMT.DAL
{
public class GenericRepository<T> : IDisposable, IRepository<T> where T : class, new()
{
protected ObjectContext _context;
protected ObjectSet<T> _objectSet { get; set; }
public GenericRepository(string connectionName = "MTDatabase")
{
_context = new ObjectContext(ConfigurationManager.ConnectionStrings[connectionName].ConnectionString);
_objectSet = _context.CreateObjectSet<T>();
}
}
}
PSです。私はすでにこのDALプロジェクトを.netのコアプロジェクトで参照しています。プロジェクトは、DBに接続しようとすると失敗します。例外はSystem.NullReferenceException
です。オブジェクト参照がオブジェクトのインスタンスに設定されていません。ConnectionString
何か助けに感謝します。
EF6またはEFコアを設定しようとしていますか?上記のコードはASP.NET 4.5/EF6のようです。また、.NET Coreまたは.NET FrameworkのみのASP.NET Coreをターゲットにしていますか?その大きな違いです。 .NET Coreと.NET Frameworkはランタイムであり、ASP.NET CoreはWebstackであり、両方で動作します。ただし、EF6は完全な.NET Frameworkでのみ動作します – Tseng