我一直在为我工作的公司开发一个Web应用程序,我正在寻求为VS 2015中的现有项目实现一个全新的数据库。
我一直在使用https://docs.efproject.net/en/latest/platforms/aspnetcore/new-db.html作为指导,但是,我很难理解那里讨论的一些概念,因为我一直在使用它只有一个月左右。我原本打算在开始时设置数据库,但是一周没有进展,所以我开始设计UI,打算在我们有一个工作用户界面之后链接数据库。
我们希望拥有单独的用户帐户,因此,教程不属于我们的范围。
Web应用程序的目的是开票,以及随着它成熟的其他功能。它将让用户注册订阅,这使他们可以访问自己的数据库(或表,如果可以为多个用户进行监管)
我确实在现有项目中添加了另一个项目,所以现在你有了这个文件结构:
src> MainWebapp; src> invoices.AspNetCore.NewDb
我创建了以个人用户帐户作为授权的项目,目的是将其用作数据库(用于测试)。
我在主Web应用程序上安装了Entity Framework,我是否还需要在“数据库”上安装它?
然后我进入了MainWebapp startup.cs文件,并从教程中粘贴了这段代码。
public void ConfigureServices(IServiceCollection services)
{
// Database Connection
var connection = @"Server=(localdb)\mssqllocaldb;Database=invoices.AspNetCore.NewDb;Trusted_Connection=True;";
services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
}
问题是services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection));
我不了解这条线在数据库连接方面的目的。如果有人能以不同的方式向我解释,可能会点击一下。
对于使用ASP.net核心1.0的初学者和数据库,是否有更全面的指南?
感谢您的任何信息!
答案 0 :(得分:0)
为什么不使用appsettings.json文件在那里设置连接。
{
"ApplicationInsights": {
"InstrumentationKey": ""
},
"ConnectionStrings": {
"DBConnection":"Server=YourServerName;Database=YourDatabaseName;Trusted_Connection=False; User Id=UserName;Password=UserPassword;MultipleActiveResultSets=true"
},
"Logging": {
"IncludeScopes": false,
"LogLevel": {
"Default": "Debug",
"System": "Information",
"Microsoft": "Information"
}
}
}
然后在startup.cs中你会得到这个:
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DBConnection")));
这只是为了获取数据库的连接字符串。 BloggingContext是您的DataBaseContext,您的模型将使用数据库表进行映射。
如果你需要设置全新的数据库(空),那么你可以从代码第一种方法开始。首先构建模型并运行数据库迁移和数据库更新。这将构建您的数据库结构,它将自动构建您的DBContext。然后使用脚手架,您可以为该模型创建控制器。