当前位置: 首页 > news >正文

博尔塔拉蒙古自治州网站建设_网站建设公司_无障碍设计_seo优化

成都网站制作价格,新乡个人网站建设价格,wordpress自动连接,如何制作史莱姆 简单EFCore官方文档置顶#xff0c;看这个就行。下面的内容只是总结#xff0c;算是备忘录。 一、创建和删除 //1、创建数据库和表 db.Database.EnsureCreated();//将创建数据库#xff08;如果不存在#xff09;并初始化数据库架构。 如果存在任何表 (包括另一 DbContext 类)…EFCore官方文档置顶看这个就行。下面的内容只是总结算是备忘录。 一、创建和删除 //1、创建数据库和表 db.Database.EnsureCreated();//将创建数据库如果不存在并初始化数据库架构。 如果存在任何表 (包括另一 DbContext 类) 的表则不会初始化架构。//仅在书中没有表时有效 //2、删除数据库 db.Database.EnsureDeleted//方法将删除数据库如果存在。 如果没有适当的权限则会引发异常。 //3、迁移数据库 context.Database.Migrate(); //4、初始化数据库和表。可以用来创建不存在的表已存在表则会报错 //EnsureCreated 仅在数据库中没有表时有效。 如果需要可以编写自己的检查来查看架构是否需要初始化并使用基础 IRelationalDatabaseCreator 服务初始化架构。 var databaseCreator dbContext.GetServiceIRelationalDatabaseCreator(); databaseCreator.CreateTables();二、表模型 [Table(Books)]//命名表名 public class Book {[Key]//主键。Id或type nameId将被配置为实体主键。其他属性名则需要配置[Key][Column(book_Id)]//表的类名public long Id { get; set; }[Column(TypeName varchar(200),Order 1/*列顺序*/)][Comment(The URL of the blog)]//列注释public string? Title { get; set; }[Column(TypeName datetime2(7))][Precision(7)]//与datetime2(7)等价public DateTime? PubTime { get; set; }[Column(TypeName decimal(5,2))]//精度5小数位2[Precision(5, 2)]//与decimal(5,2)等价public double? Price { get; set; }[MaxLength(500)]//与varchar(500)等价public string? Author { get; set; } }三、DbContext public class TestDbContext : DbContext {//表格实体public DbSetBook Books { get; set; }public string DbPath { get; }public TestDbContext(){string desktopSystem.Environment.GetFolderPath(Environment.SpecialFolder.Desktop);DbPath Path.Join(desktop, TestDB.db);}//连接数据库字符串protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSqlite($Data Source{DbPath});}protected override void OnModelCreating(ModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);modelBuilder.EntityBook().Property(x x.Price).HasDefaultValue(1.00);//列设置默认属性modelBuilder.EntityBook().Property(x x.PubTime).HasDefaultValue(DateTime.Now);//列设置默认属性} }四、查询。Linq表达式 //1、加载所有数据 var books context.Books.ToList(); //2、加载单个对象 var book context.Books.Single(b b.Id 1); //3、筛选 var books context.Books.Where(b b.Url.Contains(dotnet)).ToList(); //4、跟踪查询。查询到的对象可以用来修改数据库中的值var firstdb.list.First(); first.Name已修改; context.SaveChanges(); //5、非跟踪查询。查询到的对象无法修改数据库中的值 var firstdb.list.AsNoTracking().First(); first.Name已修改; db.SaveChanges(); //6、非跟踪查询2。与上面等效多次操作时可以少用几个AsNoTracking()方法 db.ChangeTracker.QueryTrackingBehaviorQueryTrackingBehavior.NoTracking; var firstdb.list.First(); first.Name已修改; db.SaveChanges(); //7、非跟踪查询3。在连接字符串后面增加限定 protected override void OnConfiguring(DbContextOptionsBuilder options) options.UseSqlite($Data Source{DbPath}).UseQueryTrackingBehavior(QueryTrackingBehavior.NoTracking); //8、分组和统计 //得到的group是List匿名类。匿名类的属性就2个ClassId 和StudentCount var group db.Students//使用GroupBy分组依据ClassId.GroupBy(s s.ClassId).Select(g new{//拿到ClassId由于ClassId是分组的因此使用Max或Min是一样的ClassId g.Max(s s.ClassId),//使用Count函数拿到总数StudentCount g.Count()});五、删除 //1、批量删除 db.list.Where(xx.Id30).ExecuteDelete(); //2、单个删除 var studb.list.FirstOrDefault(); db.list.Remove(stu); int deleteCountdb.SaveChanges();六、添加 //1、单个添加 db.Add(new Student(){ClassId2,Name赵子龙}); db.SaveChanges(); //2、多个添加 db.AddRange(new ListStudent(){new Student(){ClassId2,Name张翼德}),new Student(){ClassId2,Name关云长}),}); db.SaveChanges();七、修改 //1、单个修改 var stu db.list.FirstOrDefault(x x.Name.Equals(赵子龙)); stu.Name 赵云; db.Entry(stu).State EntityState.Modified; int editCount db.SaveChanges(); //2、批量修改1 var stus db.list.Where(x x.ClassId2); foreach (var stu in stus) {stu.Name 赵云;db.Entry(stu).State EntityState.Modified; } int editCount db.SaveChanges(); //3、批量修改2。与上面方法效果一致 db.list.Where(x x.ClassId2).ExecuteUpdate(ss.SetProperty(bb.Name,赵云));八、操作 //SaveChange()可以同时处理多个操作。不明确、不批量、不知道时使用该方法 //ExecuteDelete()方法会立即执行。明确、批量、知道时使用该方法 //ExecuteUpdate ()方法会立即执行。明确、批量、知道时使用该方法九、事务 //事务允许以院子方式处理多个数据库操作。如果已提交事务则所有操作都会成功应用到数据库。如果已回滚事务则所有操作都不会应用到数据库。 using var transaction db.Database.BeginTransaction(); try {//批量添加1db.AddRange(new ListPost(){new Post(){ PostId3,Titlecc },new Post(){ PostId3,Titledd },});db.SaveChanges();//批量添加2db.AddRange(new ListPost(){new Post(){ PostId3,Titleee },new Post(){ PostId3,Titleff },});db.SaveChanges();//提交事务transaction.Commit(); } catch (Exception ex)//提交事务会出现异常 {//回滚事务transaction.Rollback();Console.WriteLine(ex.Message); }
http://www.ihoyoo.com/news/101040.html

相关文章:

  • 杭州市上城区建设局网站网站语言切换功能如何做
  • 华为怎么设置安全网站网站建设视频教程免费下载
  • 南昌做网站软件公司网站建设哪家比较好
  • 域名主机 网站建设google play下载安装
  • 建一个鲜花买卖网站多少钱住房和城乡建设部文化中心网站
  • 上海网站制作建设多少钱做的比较好的律师网站
  • 实用网站开发南宁手机企业网站定制
  • 论文网站开发wordpress php 7.0
  • 做流程图用什么网站好常州如何进行网站推广
  • 平乡建设局网站如何做网站页面赚钱
  • 互联网网站基础网推啥意思
  • 饰品 东莞网站建设36氪网站是用什么做的
  • 桃城网站建设机关单位网站建设申请
  • 女装网站建设文献综述百度掘金入口官网
  • 长沙网站设计哪家好白石洲附近做网站公司
  • 阳江网站seo服务wordpress怎么上传自己的网站吗
  • 做论坛网站怎么赚钱wordpress内存优化
  • 404错误页面放在网站的哪里广东省建设工程总监扣分查询网站
  • 网站群建设系统有的网站用流量打不开
  • 电子商务网站平台不包括网页设计与制作 培训
  • 贵阳网站建设设计公司wordpress摘要插件
  • 西安建设厅官方网站汽车用品网站规划
  • 如何建立一个免费的网站什么是网络营销中最古老的一种但也是目前应用最广泛的
  • 万网账号跟网站有关系吗seo快速建站
  • 前端招聘去哪个网站个人建设图片分享网站
  • 网站建设功能选择表中国循环经济网站开发与设计
  • 网站建设的展望 视频网站备案一天通过
  • 丹东建设网官方网站四川成都现在可以去吗
  • 用wordpress建企业网站昆明好的网站开发公司
  • 旅游网站模板psdwordpress好主题