开辟工具 Vs2017 +MSsqlsever
打开VS2017,新建web项目
点击确认,天生项目,在项目中增加文件夹Model,在Model中增加类TodoItem
- 1 public class TodoItem
- 2 {
- 3 public long Id { get; set; }
- 4 public string Name { get; set; }
- 5 public bool IsComplete { get; set; }
- 6
- 7 }
复制代码
View Code
在Model中增加类TodoContext,用于与数据库的交互
- 1 public class TodoContext : DbContext
- 2 {
- 3 public TodoContext(DbContextOptions<TodoContext> options)
- 4 : base(options)
- 5 {
- 6 }
- 7
- 8 public DbSet<TodoItem> TodoItems { get; set; }
- 9 }
复制代码
View Code
打开appsettings.json,设置数据库毗连字符串
- {
- "Logging": {
- "LogLevel": {
- "Default": "Warning"
- }
- },
- "AllowedHosts": "*",
- "ConnectionStrings": {
- "TodoContext": "Server=.;Database=WebApiDemo;Trusted_Connection=True;MultipleActiveResultSets=true"
- }
- }
复制代码
在Startup中,找到注册服务的方法ConfigureServices中注册数据库上下文,并指定数据库为sqlserver
- public void ConfigureServices(IServiceCollection services)
- {
- services.AddDbContext<Models.TodoContext>(opt =>
- opt.UseSqlServer(Configuration.GetConnectionString("TodoContext"))); //使用SqlServer数据库
- services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
- }
复制代码
至此,根本的设置已经完成,现在用EF的codefirst方式,创建数据库,通过工具-》NuGet包管理器--》步伐包管理器控制台 调出控制台
下令如下:
- Add-Migration Initial
- Update-Database
复制代码
现在数据库就已经搭建完毕
接下来我们在Control文件夹下增加TodoController
- [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<ActionResult<IEnumerable<TodoItem>>> GetTodoItems()
- {
- return await _context.TodoItems.ToListAsync();
- }
- // GET: api/Todo/5
- [HttpGet("{id}")]
- public async Task<ActionResult<TodoItem>> 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/p/11480341.html |