NETCORE使用DB First

本文介绍了使用 Entity Framework Core 进行数据库操作的方法,包括安装必要的包、通过 Scaffold 命令生成实体类、定义及实现业务接口、配置依赖注入等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1)引用

(1)Install-Package Microsoft.EntityFrameworkCore 

(2)Install-Package Microsoft.EntityFrameworkCore.SqlServer

(3)Install-Package Microsoft.EntityFrameworkCore.Tools

(4)Install-Package Microsoft.EntityFrameworkCore.SqlServer.Desig

2)连接数据库获取实体类

1)新建Models 替换相应地址

 Scaffold-DbContext  "Data Source=.;Initial Catalog=MirrorPro;User ID=sa;Password=123" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models

2)声明接口 ITodoItemService.cs

    public interface ITodoItemService
    {
        /// <summary>
        /// 在一个task里存放TodoItem的列表 
        /// </summary>
        /// <returns></returns>
        Task<IEnumerable<AdminUser>> GetIncompleteItemsAsync();
    }

3)实现接口 TodoItemService.cs

    public class TodoItemService : ITodoItemService
        {
            private readonly MirrorProContext _context;

            public TodoItemService(MirrorProContext context)
            {
                _context = context;
            }

            public async Task<IEnumerable<AdminUser>> GetIncompleteItemsAsync()
            {
                var items = await _context.AdminUser
                    .Where(x => x.IsAbort == false)
                    .ToListAsync();
                return items;
            }
        }

4)控制器依赖

 private readonly ITodoItemService _todoItemService;
     public TodoController(ITodoItemService todoItemService)
        {
            _todoItemService = todoItemService;
        }
     public async Task<IActionResult> Index()
        {
            //获取异步参数
            var todoItems = await _todoItemService.GetIncompleteItemsAsync();
            return View(todoItems);
        }

5)Startup.cs 修改如下

  public void ConfigureServices(IServiceCollection services)
        {
            //数据库连接
            services.AddDbContext<MirrorProContext>();
            services.AddMvc();
            //把你的服务放进一个 可用服务集合 scoped 每次需要FakeTodoItemService类的对象时,就创建一个新的出来
            //告诉Core你的接口实现应对多个接口实现的情况
            services.AddScoped<ITodoItemService, TodoItemService>();
        }

 

转载于:https://www.cnblogs.com/songjl/p/8351789.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值