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

上海品牌网站制作设计学习

上海品牌网站制作,设计学习,设计网站都有什么作用,商丘销售网站制作目录 EF Core一对一 关系属性 关系配置 使用 EF Core多对多 关系属性 关系配置 使用 EF Core一对一 关系属性 必须显式的在其中一个实体类中声明一个外键属性,可以在Order建立Delivery,也可以在Delivery建立OrderId class Order {public long…

目录

EF Core一对一

关系属性

关系配置

使用

EF Core多对多

关系属性

关系配置

使用


EF Core一对一

关系属性

必须显式的在其中一个实体类中声明一个外键属性,可以在Order建立Delivery,也可以在Delivery建立OrderId

class Order
{public long Id { get; set; }public string Name { get; set; }public string Address { get; set; }public Delivery Delivery { get; set; }
}class Delivery
{public long Id { get; set; }public string CompanyName { get; set; }public string Number {  get; set; }public Order Order { get; set; }public long OrderId { get; set; }
}

关系配置

 class OrderConfig : IEntityTypeConfiguration<Order>{public void Configure(EntityTypeBuilder<Order> builder){builder.ToTable("T_Orders");builder.HasOne(o => o.Delivery).WithOne(p => p.Order).HasForeignKey<Delivery>(p => p.OrderId);}}class DeliveryConfig : IEntityTypeConfiguration<Delivery>
{public void Configure(EntityTypeBuilder<Delivery> builder){builder.ToTable("T_Deliverys");}
}

使用

static async Task Main(string[] args)
{using (MyDbContext ctx = new MyDbContext()){Order o1 = new Order{Name="书",Address="中国"};Delivery d1 = new Delivery{CompanyName="顺丰",Number="SF25646",Order=o1};ctx.Deliverys.Add(d1);await ctx.SaveChangesAsync();}
}

EF Core多对多

EF Core5.0开始,才正式支持多对多

关系属性

class Student
{public int Id { get; set; }public string Name { get; set; }public List<Teacher> Teachers { get; set; } = new List<Teacher>();
}class Teacher
{public int Id { get; set; }public string Name { get; set; }public List<Student> Students { get; set; } = new List<Student>();
}

关系配置

class StudentConfig : IEntityTypeConfiguration<Student>
{public void Configure(EntityTypeBuilder<Student> builder){builder.ToTable("T_Students");builder.HasMany(o => o.Teachers).WithMany(t => t.Students).UsingEntity(j => j.ToTable("T_Student_Teachers"));}
}class TeacherConfig : IEntityTypeConfiguration<Teacher>
{public void Configure(EntityTypeBuilder<Teacher> builder){builder.ToTable("T_teachers");}
}

使用

class Program
{static async Task Main(string[] args){using (MyDbContext ctx = new MyDbContext()){//插入Student s1 = new Student { Name = "张三" };Student s2 = new Student { Name = "李四" };Student s3 = new Student { Name = "王五" };Teacher t1 = new Teacher { Name = "Tom" };Teacher t2 = new Teacher { Name = "Jerry" };Teacher t3 = new Teacher { Name = "Bob" };s1.Teachers.Add(t1);s1.Teachers.Add(t2);s2.Teachers.Add(t2);s2.Teachers.Add(t3);s3.Teachers.Add(t1);s3.Teachers.Add(t2);s3.Teachers.Add(t3);ctx.Students.Add(s1);ctx.Students.Add(s2);ctx.Students.Add(s3);await ctx.SaveChangesAsync();//查询var teachers = ctx.Teachers.Include(t => t.Students);foreach (var t in teachers){Console.WriteLine(t.Name);foreach (var s in t.Students){Console.WriteLine("\t" + s.Name);}}}}
}

http://www.yayakq.cn/news/535655/

相关文章:

  • 做网站的网站赚钱吗网站模板欣赏
  • 网站建设需要会什么软件有哪些内容西安网站开发xamokj
  • 网站开发需要提供哪些资料无锡手机网站建设
  • 郴州市住房和城乡建设局网站世界摄影网站
  • python可以做网站c语言和网站建设的关系
  • 获得网站后台地址网站建设简介联系方式
  • 如何建设视频网站安阳县地图
  • 杭州设计企业网站高端公司如果建手机网站
  • 合适做服装的国际网站加工平台网站
  • 浙江省建设安全协会网站网页游戏在哪里制作
  • 在百度上做公司网站得多少钱流量平台有哪些
  • 深圳做网站d天津网页设计工作
  • 乡镇网站建设中的问题昆明网站seo
  • wap网站软件做网站的公司不给域名
  • 排名网站建设上传wordpress到服务器
  • 东莞网站开发找谁虚拟主机WordPress建站
  • 网上给别人做网站网站图片加alt
  • 做ppt软件怎么下载网站wordpress如何打包成app
  • 三亚市建设局官方网站广州seo培训机构
  • 自己怎么做云购网站吗网站产品预算
  • 腾云网站建设天津建设工程信息网几点更新
  • 盐城做网站哪家最好商城分销
  • 北京网站设计公司新网站开发源码售卖合同
  • 网站备案重要吗php asp网站开发
  • 自贡网站开发公司网站建设课程设计
  • 好看的手机端网站开发页面石家庄网站外包公司
  • 网站的版权信息网络平台的推广方法
  • 二手购物网站策划书智慧团建手机登录入口电脑版
  • 无限流量网站建设科技创新的评价机制的作用
  • 网站 方案移动互联网开发平台基于linux安卓