原标题:快速开发:.net core Webapi +EF
开发工具 Vs2017 +MSsqlsever
打开VS2017,新建web项目
点击确认,生成项目,在项目中增加文件夹Model,在Model中增加类TodoItem
1publicclassTodoItem
2{
3publiclongId { get; set; }
4publicstringName { get; set; }
5publicboolIsComplete { get; set; }
6
7}
在Model中增加类TodoContext,用于与数据库的交互
1publicclassTodoContext : DbContext
2{
3publicTodoContext(DbContextOptions options)
4: base(options)
5{
6}
7
8publicDbSet TodoItems { get; set; }
9}
打开appsettings.json,配置数据库连接字符串
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"TodoContext": "Server=.;Database=WebApiDemo;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
在Startup中,找到注册服务的方法ConfigureServices中注册数据库上下文,并指定数据库为sqlserver
publicvoidConfigureServices(IServiceCollection services)
{
services.AddDbContext(opt =>
opt.UseSqlServer(Configuration.GetConnectionString("TodoContext"))); //使用SqlServer数据库
services.AddMvc.SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
至此,基本的配置已经完成,现在用EF的codefirst方式,创建数据库,通过工具-》NuGet包管理器--》程序包管理器控制台 调出控制台
命令如下:
1
2
Add-Migration Initial
Update-Database
现在数据库就已经搭建完毕
接下来我们在Control文件夹下增加TodoController
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[Route( "api/[controller]" )]
[ApiController]
public class TodoController : ControllerBase
{
private readonly TodoContext _context;
public TodoController(TodoContext context)
{
_context = context;
if (_context.TodoItems.Count == 0)
{
// Create a new TodoItem if collection is empty,
// which means you can't delete all TodoItems.
_context.TodoItems.Add( new TodoItem { Name = "Item1" });
_context.SaveChanges;
}
}
// GET: api/Todo
[HttpGet]
public async Task>> GetTodoItems
{
return await _context.TodoItems.ToListAsync;
}
// GET: api/Todo/5
[HttpGet( "{id}" )]
public async Task> GetTodoItem( long id)
{
var todoItem = await _context.TodoItems.FindAsync(id);
if (todoItem == null )
{
return NotFound;
}
return todoItem;
}
}
至此,整个Api项目已经搭建完毕,现在可以验证是否OK
看到调用API,已经成功返回值,接下来一篇我们就聊聊常用的Post和Get,以及传参的事情
只要有梦想,行动永远不迟!
https://www.cnblogs.com/NotLaterforever/archive/2019/09/07/11480341.html
版权申明:本文来源于网友收集或网友提供,如果有侵权,请转告版主或者留言,本公众号立即删除。返回搜狐,查看更多
责任编辑: