用ASP.NET core mvc 实现从数据库中获取数据并以列表的形式显示,数据库名为GameStore,表名为Game,属性有ID、Name、Type、Price、Time、Buy
时间: 2023-07-10 12:03:42 浏览: 190
GameStore
首先,需要在ASP.NET Core MVC项目中添加对数据库的支持。可以使用Entity Framework Core来实现这一功能,也可以使用Dapper等其他ORM框架。在本例中,我们将使用Entity Framework Core。
1. 添加Entity Framework Core支持
打开项目的Package Manager Console,输入以下命令来安装Entity Framework Core:
```
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Install-Package Microsoft.EntityFrameworkCore.Design
```
2. 创建Game模型类
在Models文件夹中,创建Game类,代码如下:
```csharp
public class Game
{
public int ID { get; set; }
public string Name { get; set; }
public string Type { get; set; }
public decimal Price { get; set; }
public DateTime Time { get; set; }
public bool Buy { get; set; }
}
```
3. 创建DbContext类
在Models文件夹中,创建GameStoreContext类,继承自DbContext,代码如下:
```csharp
public class GameStoreContext : DbContext
{
public GameStoreContext(DbContextOptions<GameStoreContext> options)
: base(options)
{
}
public DbSet<Game> Games { get; set; }
}
```
4. 配置数据库连接信息
在appsettings.json文件中,添加数据库连接信息:
```json
{
"ConnectionStrings": {
"DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=GameStore;Trusted_Connection=True;MultipleActiveResultSets=true"
},
//...
}
```
5. 注册DbContext服务
在Startup.cs文件的ConfigureServices方法中,添加以下代码:
```csharp
services.AddDbContext<GameStoreContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
```
6. 创建控制器和视图
在Controllers文件夹中,创建GameController类,代码如下:
```csharp
public class GameController : Controller
{
private readonly GameStoreContext _context;
public GameController(GameStoreContext context)
{
_context = context;
}
public IActionResult Index()
{
var games = _context.Games.ToList();
return View(games);
}
}
```
在Views文件夹中,创建Game文件夹,并在其中创建Index.cshtml视图文件,代码如下:
```razor
@model List<Game>
<h1>Game List</h1>
<table>
<tr>
<th>ID</th>
<th>Name</th>
<th>Type</th>
<th>Price</th>
<th>Time</th>
<th>Buy</th>
</tr>
@foreach (var game in Model)
{
<tr>
<td>@game.ID</td>
<td>@game.Name</td>
<td>@game.Type</td>
<td>@game.Price</td>
<td>@game.Time</td>
<td>@game.Buy</td>
</tr>
}
</table>
```
7. 运行应用程序
现在可以运行应用程序,并访问Game控制器的Index动作,以查看从数据库中获取的游戏列表。
阅读全文