asp.net core EF 连接数据库进行交互
1. 安装包
Microsoft.EntityFrameworkCore
Micosoft.EntityFrameworkCore.Relational
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFramerworkCore.Tools
安装
数据库提供商
https://docs.microsoft.com/en-us/ef/core/providers
2.配置DB上下文
using Microsoft.EntityFrameworkCore; namespace Webgentle.BookStore.Data { public class BookStoreContext : DbContext { public BookStoreContext(DbContextOptions<BookStoreContext> options) : base(options) { } public DbSet<Books> Books { get; set; } //protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) //{ // optionsBuilder.UseSqlServer("Server=.;Database=BookStore;Integrated Security=True"); // base.OnConfiguring(optionsBuilder); //} } }
或者直接在Startup文件
public void ConfigureServices(IServiceCollection services) { services.AddDbContext<BookStoreContext>( options=>options.UseSqlServer("Server=.;Database=BookStore;Integrated Security=True")); services.AddControllersWithViews(); #if DEBUG services.AddRazorPages().AddRazorRuntimeCompilation(); #endif }
3. 使用实体类的数据库如何使用EF生成数据库、迁移
打开工具--》Nuge包管理--》程序包管理控制台
输入
get-help entityframework
Add-Migration init
生成了这两个文件
更新到数据库
update-database
如何还要更新添加的话
然后就在PM下 add-migration added2columns (它的意思是添加了两个新的列到数据库模型中)
然后再更新 update-database
4. 在数据库中插入数据
private readonly BookStoreContext _context = null; public BookRepository(BookStoreContext context) { _context = context; } public int AddNewBook(BookModel model) { var newBook = new Books() { Author= model.Author, CreatedOn = DateTime.UtcNow, Description= model.Description, Title= model.Title, TotalPages= model.TotalPages, UpdatedOn=DateTime.UtcNow }; _context.Books.Add(newBook); _context.SaveChanges(); return newBook.Id; }
[HttpPost] public ViewResult AddNewBook(BookModel bookModel) { _bookRepository.AddNewBook(bookModel); return View(); }
services.AddScoped<BookRepository, BookRepository>();
public BookController(BookRepository bookRepository) { _bookRepository=bookRepository; }
去页面提交
我们就成功添加了数据
标签:
.net
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现