配置访问数据库操作
在.NET Core应用程序中,访问数据库时,需要配置数据库连接以及数据库提供程序。常用的数据库提供程序有:Microsoft SQL Server、MySQL、PostgreSQL和SQLite等。
下面是配置访问数据库操作的完整攻略。
1.添加nuget包
在项目中添加数据库提供程序的nuget包。如需使用MySQL,则添加MySql.Data和MySql.Data.EntityFrameworkCore;如需使用Microsoft SQL Server,则添加Microsoft.EntityFrameworkCore.SqlServer。用于MySQL的示例:
dotnet add package MySql.Data
dotnet add package MySql.Data.EntityFrameworkCore
2.配置数据库连接
在appsettings.json文件中添加数据库连接字符串。用于MySQL的示例:
{
"ConnectionStrings": {
"MySqlConnection": "server=localhost;userid=root;password=123456;database=mydb"
}
}
3.添加DbContext
在项目中添加DbContext。用于MySQL的示例:
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
public DbSet<MyEntity> MyEntities { get; set; }
}
4.注册DbContext
在Startup.cs文件中,注册DbContext。用于MySQL的示例:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MyDbContext>(options =>
options.UseMySQL(Configuration.GetConnectionString("MySqlConnection"))
);
}
5.使用DbContext
在需要使用DbContext的类中,通过依赖注入来获取并使用DbContext。例如,在Controller中使用DbContext来查询数据:
public class MyController : ControllerBase
{
private readonly MyDbContext _dbContext;
public MyController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public ActionResult<IEnumerable<MyEntity>> Get()
{
return _dbContext.MyEntities.ToList();
}
}
示例1:使用MySQL
以下示例介绍了如何使用MySQL进行数据库访问。
1.创建数据库
首先,需要创建一个MySQL数据库并添加表。可以使用以下SQL语句:
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE `MyEntities` (
`Id` int(11) NOT NULL AUTO_INCREMENT,
`Name` varchar(50) NOT NULL,
`Age` int(11) NOT NULL,
PRIMARY KEY (`Id`)
);
2.添加nuget包
在项目中添加MySql.Data和MySql.Data.EntityFrameworkCore的nuget包。可以使用以下命令:
dotnet add package MySql.Data
dotnet add package MySql.Data.EntityFrameworkCore
3.配置连接字符串
在appsettings.json文件中,添加MySQL数据库连接字符串。可以使用以下内容:
{
"ConnectionStrings": {
"MySqlConnection": "server=localhost;userid=root;password=123456;database=mydb"
}
}
4.创建DbContext
在项目中添加MyDbContext。
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
public DbSet<MyEntity> MyEntities { get; set; }
}
5.注册DbContext
在Startup.cs文件中注册DbContext。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MyDbContext>(options =>
options.UseMySQL(Configuration.GetConnectionString("MySqlConnection"))
);
}
6.使用DbContext
在Controller中使用DbContext来查询数据。
public class MyController : ControllerBase
{
private readonly MyDbContext _dbContext;
public MyController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public ActionResult<IEnumerable<MyEntity>> Get()
{
return _dbContext.MyEntities.ToList();
}
}
示例2:使用Microsoft SQL Server
以下示例介绍了如何使用Microsoft SQL Server进行数据库访问。
1.创建数据库
首先,需要在Microsoft SQL Server中创建一个数据库并添加表。可以使用以下SQL语句:
CREATE DATABASE mydb;
USE mydb;
CREATE TABLE [dbo].[MyEntities] (
[Id] INT NOT NULL PRIMARY KEY,
[Name] NVARCHAR(50) NULL,
[Age] INT NULL
);
2.添加nuget包
在项目中添加Microsoft.EntityFrameworkCore.SqlServer的nuget包。可以使用以下命令:
dotnet add package Microsoft.EntityFrameworkCore.SqlServer
3.配置连接字符串
在appsettings.json文件中,添加Microsoft SQL Server数据库连接字符串。可以使用以下内容:
{
"ConnectionStrings": {
"MySqlConnection": "Server=(localdb)\\mssqllocaldb;Database=mydb;Trusted_Connection=True;"
}
}
4.创建DbContext
在项目中添加MyDbContext。
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options)
: base(options)
{
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
public DbSet<MyEntity> MyEntities { get; set; }
}
5.注册DbContext
在Startup.cs文件中注册DbContext。
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<MyDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("MySqlConnection"))
);
}
6.使用DbContext
在Controller中使用DbContext来查询数据。
public class MyController : ControllerBase
{
private readonly MyDbContext _dbContext;
public MyController(MyDbContext dbContext)
{
_dbContext = dbContext;
}
[HttpGet]
public ActionResult<IEnumerable<MyEntity>> Get()
{
return _dbContext.MyEntities.ToList();
}
}
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.net core下配置访问数据库操作 - Python技术站