我正在探索ef core
,我想创建一个包含两个主要部分的简单项目,console application
和网络(asp.net core
)。
到目前为止,我仅添加了目标框架为.NET Framework 4.7.2
的控制台应用程序。
我的结构看起来像这样:
我添加了数据库项目,该项目将为web .net core
(将来)提供连接,现在为控制台应用程序。
我已经成功建立了连接,看起来像这样:
我不喜欢UseSqlServer
中的这个硬编码部分。
解决此问题的最佳方法是什么?由于这是将使用连接的控制台应用程序,因此没有appsettings.json,因为它将在.net核心应用程序中。因此,如何从某些文件中读取conn字符串,以避免对其进行硬编码?
仅检查official documentation,所有配置数据都可以并且可能应该来自Configuration
,然后此信息可以来自appsettings或其他配置文件,数据库,环境变量,机密等等。
要离开示例,您应该将连接字符串添加到您的应用设置中。
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=ContosoUniversity1;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Warning"
}
}
}
然后在您的创业公司中:
services.AddDbContext<SchoolContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));