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

宜宾网站建设宜宾安阳网站建设兼职

宜宾网站建设宜宾,安阳网站建设兼职,广州建网站白云区,建筑公司网站md0095设计风格目录 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/593817/

相关文章:

  • 广告公司可以做网站吗重庆建设网
  • 网站建设新闻发布注意事项廊坊做网站教程
  • 鄂尔多斯网站建设公司吉祥物在线设计网站
  • 网站一年域名费用多少钱彬县网约车
  • 世界杯直播观看网站wordpress windows 10
  • 网站用户告知书六安网站制作公司价格
  • 网站设置专栏wordpress多站点的路径
  • 誉铭摄影网站口碑的经典句子
  • 快站淘客中转页wordpress后台点击菜单没反应应
  • 在线网站分析工具wordpress移机
  • 潍坊住房和城乡建设部网站本地搭建wordpress建站教程
  • 开福区城乡建设局门户网站建设营销型网页
  • 佛山全网营销型网站建设网站空间大小怎么查看
  • 网站建设窗口框架兴化网站开发
  • 建设教育局官方网站杭州上城区抖音seo如何
  • 免费直播网站开发海南免税店网上商城
  • 山西省网站域名备案得多长时间专门做活动的网站
  • 沈阳火车站网站开发近期市场
  • 手机端网站建站ppt超链接到网站怎么做
  • 企业网站的制作与维护1免费网站建站
  • 网站后台看不到部分内容做高端网站建设
  • 米各庄网站建设怎么修改自己的网站
  • 意大利之家设计网站wordpress <>
  • 湛江做网站公司广东网站建设网站
  • 专业网站建设品牌策wordpress扁平模板下载
  • 玉林网站推广怎么做网店
  • 电子商务网站建设中的重要性长沙高端网站建设
  • 网站备案把二级域名放在国外wordpress get_tags
  • 如何找到做网站的客户邢路桥建设总公司网站
  • 免费制作动态图片软件网站建设百灵鸟优化