【发布时间】:2021-11-18 21:19:43
【问题描述】:
刚开始使用 .Net Core 并面临将连接字符串信息传递到上下文控制台项目。
我有 4 个项目,使用 .Net Core 创建。
- MVC
- 服务层
- 域层
- 数据层
在 MVC 项目中,我有 Startup.cs 文件,我正在读取 appsettings.json 文件
public void ConfigureServices(IServiceCollection services)
{
// Add framework services.
services.AddApplicationInsightsTelemetry(Configuration);
services.AddMvc();
// Add appsettings
services.Configure<AppSettingsConfig>(Configuration.GetSection("AppSettings"));
}
public Startup(IHostingEnvironment env)
{
var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
.AddEnvironmentVariables();
if (env.IsDevelopment())
{
// This will push telemetry data through Application Insights pipeline faster, allowing you to view results immediately.
builder.AddApplicationInsightsSettings(developerMode: true);
}
Configuration = builder.Build();
}
在我的第 4 个项目(数据层)中,该控制台项目具有以下 DBContext 类。这个项目没有我 MVC 项目所拥有的 Startup.cs。 VS 2015 默认不创建。
public class MyDWContext : DbContext
{
public MyDWContext() : base ()
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(@"Data Source=localhost;Initial Catalog=MyDW; Persist Security Info = False; User ID = TempUser; Password = Temp123");
}
public DbSet<User> Users { get; set; }
public DbSet<Class> Classs { get; set; }
}
我也去过其他帖子,但我相信它是使用旧版本或 RC 版本创建的。所以有时我找不到正确的对象或 .Net 类。
由于我在 MVC 项目中有连接字符串,我如何在 MVC 调用数据层期间使用连接字符串。
我也有 Web.API(核心)项目,并且有自己的连接字符串(连接字符串中的不同用户配置,只有读取访问权限)。当我从 Web2.API 项目进行调用时,如何使用 Web2.API 连接字符串。
【问题讨论】:
标签: asp.net-core