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

贵州贵阳建网站的电话网页设计制作实验报告

贵州贵阳建网站的电话,网页设计制作实验报告,守游网络推广平台,做动漫网站的心得体会Entity FrameWork EF 总结 EF Core EF Core 如果实体模型很多#xff0c;全部放在 上下文中的 OnModelCreating(ModelBuilder modelBuilder) 不太好维护 可以把实体模型 分离出去#xff0c;每个类创建一个实体模型 public class BookConfiguration #xff1a;IEntityT…Entity FrameWork EF 总结 EF Core EF Core 如果实体模型很多全部放在 上下文中的 OnModelCreating(ModelBuilder modelBuilder) 不太好维护 可以把实体模型 分离出去每个类创建一个实体模型 public class BookConfiguration IEntityTypeConfigurationAccount {public void Configure(EntityTypeBuilderBook builder){// 把之前上下文中的 OnModelCreating(ModelBuilder modelBuilder) // 对应Account 的数据模型 复制到此处 即可builder.ToAble(Book)} }》》》原来的上下文中 替换成如下 protected override void OnModelCreating(ModelBuilder modelBuilder) {modelBuilder.ApplyConfigurationsFromAssembly(Assembly.GetExecutingAssembly()); }EF Core 环境搭建 public class Book {//必须是属性public long Id { get; set; }//主键public string Title { get; set; }//标题public DateTime PubTime { get; set; }//发布日期public double Price { get; set; }//单价public string AuthorName { get; set; }//作者名字 }IEnityTypeConfiguration 配置类 class BookEntityConfig : IEntityTypeConfigurationBook //指定是对那个类进行配置 {public void Configure(EntityTypeBuilderBook builder) //实现接口{// Fluent APIbuilder.ToTable(T_Books); //实体对象在数据库中表的名字是“T_Books”//没有详细设置每个属性在数据库中的列明和数据类型//会默认吧属性名字作为列明并根据属性类型来推断数据库中的数据类型//可以根据需要修改实体类的配置进而修改数据库的表//HasMaxLength(50):最大长度为50 IsRequired():不可为空builder.Property(e e.Title).HasMaxLength(50).IsRequired();builder.Property(e e.AuthorName).HasMaxLength(20).IsRequired();} } 上下文 using Microsoft.EntityFrameworkCore; class TestDbContext : DbContext {public DbSetBook Books { get; set; } //可对上文的Book实体进行操作//配置数据库的连接protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder){optionsBuilder.UseSql(链接字符串或者取配置文件);optionsBuilder.LogTo(Console.WriteLine);}protected override void OnModelCreating(ModelBuilder modelBuilder){base.OnModelCreating(modelBuilder);//设置需要加载的程序集//加载当前程序集中所有实现了IEntityTypeConfiguration接口的类modelBuilder.ApplyConfigurationsFromAssembly(this.GetType().Assembly);} } migration 到此EF Core的环境搭建完成总结一下目前还没有数据库只是定义了实体对象 EF Core会根据我们定义的实体对象自动生成数据库这种操作也被称之为迁移migration 目前只是实体对象创建完成但是还没有在数据库中生成相应的表。 安装Nuget包Microsoft.EntityFrameworkCore.Tools。 在程序包管理器控制台中执行 Add-Migration 自定义名称 这个一个迁移命令建议名称是有意义的。 会自动在项目下生成Migrations文件夹文件夹下生成相应的代码其中名称为日期ID号_自定义名称的类 其主要功能是创建数据库。 以上只是创建了生成数据库的类但并没有执行。 在程序包管理器控制台中使用 Update-database 执行数据库迁移代码。 如果此时修改了BookEntityConfig中属性设置需要再次执行一次{修改一次就需要做一次迁移和Update-database} Add-Migration 自定义名称此时名称要和之前的不一样。 再次执行Update-database 预定大于配置 Data Annotation 数据注解 使用.net提供的Attribute对实体类、属性进行标注来实现实体类的配置。 [Table(T_Books)] //将数据库表名设置为T_Books public class Book {public long Id { get; set; }//主键//将Title属性最大长度设置为50且不能为空[MaxLength(50)] [Required]public string Title { get; set; }//标题public DateTime PubTime { get; set; }//发布日期public double Price { get; set; }//单价[MaxLength(20)][Required]public string AuthorName { get; set; }//作者名字 } Fluent API 编写实现了IEntityTypeConfiguration接口的实体配置类 class BookEntityConfig : IEntityTypeConfigurationBook //指定是对那个类进行配置 {public void Configure(EntityTypeBuilderBook builder) //实现接口{// Fluent APIbuilder.ToTable(T_Books); //实体对象在数据库中表的名字是“T_Books”//没有详细设置每个属性在数据库中的列明和数据类型//会默认吧属性名字作为列明并根据属性类型来推断数据库中的数据类型//可以根据需要修改实体类的配置进而修改数据库的表//HasMaxLength(50):最大长度为50 IsRequired():不可为空builder.Property(e e.Title).HasMaxLength(50).IsRequired();builder.Property(e e.AuthorName).HasMaxLength(20).IsRequired();} }关系配置 资料 》》》文章Article和评论Article的关系就是一对多 public class Article {public long Id { get; set; }//主键public string Title { get; set; }//标题public string Content { get; set; }//内容public ListComment Comments { get; set; } new ListComment(); //此文章的若干条评论 }public class Comment {public long Id { get; set; }public Article Article { get; set; } //对应的文章public string Message { get; set; } } Article a1 new Article(); a1.Title 微软发布.NET 6大版本的首个预览; a1.Content 微软昨日在一篇官网博客文章中宣布了 .NET 6 首个预览版本的到来。; Comment c1 new Comment() { Message 支持 }; Comment c2 new Comment() { Message 微软太牛了 }; Comment c3 new Comment() { Message 火钳刘明 }; a1.Comments.Add(c1); a1.Comments.Add(c2); a1.Comments.Add(c3); using TestDbContext ctx new TestDbContext(); ctx.Articles.Add(a1);//只需要加入Article就可以会自动增加Comment对象到数据库 await ctx.SaveChangesAsync(); 显示加载 Include 起到关联查询 Article a ctx.Articles.Include(a a.Comments).Single(a a.Id 1); Include方法起到了关联查询作用用它生成对其他关联实体的查询操作 使用Include不仅仅能够查询到id1的文章也能查询到该文章所对应的评论 Article a ctx.Articles.Include(a a.Comments).Single(a a.Id 1); Console.WriteLine(a.Title); foreach (Comment c in a.Comments) {Console.WriteLine(c.Id : c.Message); } EF Core高级技术 EF Core 原理 EF Core性能优化
http://www.hkea.cn/news/14507282/

相关文章:

  • 闸北企业网站制作工商联网站建设方案
  • 专业网站建设是哪家内容营销包括
  • 商会网站建设方案书亚马逊关键词排名查询工具
  • php网站是什么数据库文件wordpress lms插件
  • 如何做企业网站建设上海最专业的集团网站建设
  • php开发一个企业网站价格百度云如何做网站
  • 怎么搭建钓鱼网站合肥专业做淘宝网站推广
  • “网站制作”电商网站开发视频
  • 网站视觉设计方案响应式网站建设合同
  • 傻瓜式建站软件下载网站建设大赛策划书
  • 设一个网站需要多少钱桂林市防疫最新政策
  • 已将绑定域名给另一个网站泉州城乡建设网站
  • 做网站如何做视频网站建设最常见的问题
  • 企业网站模板 简洁南京市互联网平台公司
  • 东莞长安网站设计房山做网站公司
  • 内部网站建设拓扑王者荣耀是哪家公司开发的
  • 注册网站需要多少网站更改公司需要重新备案吗
  • 公司制做网站兰州网站开发哪里可以做
  • 建设网站站点过程中四川网站建设 lkcms
  • 惠州做棋牌网站建设哪家公司收费合理哈尔滨网站建设优化
  • 商务网站建设pdfwordpress dux商城
  • 网站登录按钮怎么做北京网页设计机构
  • 深圳做网站那里好更改wordpress主题语言
  • 临沂市建设局网站勘察设计返利网站怎么做的
  • 电子商务网站名字毕业设计做企业门户网站
  • 河北高端网站制作东莞阳光网招聘官网
  • 如何制作网站连接数据库网站开发所需配置
  • 栖霞建设网站给一个免费的网站
  • 网站前置审批类型企业网站模板整套
  • 管庄地区网站建设优化大师官方下载