博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Entity Framework Core Relationship的学习笔记
阅读量:5074 次
发布时间:2019-06-12

本文共 2412 字,大约阅读时间需要 8 分钟。

说明

此例筛选了感兴趣及常用部分

参考文献

https://docs.microsoft.com/en-us/ef/core/modeling/relationships

One to Many

 

Many to Many

新增一个中间类,再转换成One to Many及One to Many的形式

class MyContext : DbContext{    public DbSet
Posts { get; set; } public DbSet
Tags { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity
() .HasKey(t => new { t.PostId, t.TagId }); modelBuilder.Entity
() .HasOne(pt => pt.Post) .WithMany(p => p.PostTags) .HasForeignKey(pt => pt.PostId); modelBuilder.Entity
() .HasOne(pt => pt.Tag) .WithMany(t => t.PostTags) .HasForeignKey(pt => pt.TagId); }}public class Post{ public int PostId { get; set; } public string Title { get; set; } public string Content { get; set; } public List
PostTags { get; set; }}public class Tag{ public string TagId { get; set; } public List
PostTags { get; set; }}public class PostTag{ public int PostId { get; set; } public Post Post { get; set; } public string TagId { get; set; } public Tag Tag { get; set; }}

 

 

One to One(One to Zero)

class MyContext : DbContext{    public DbSet
Blogs { get; set; } public DbSet
BlogImages { get; set; } protected override void OnModelCreating(ModelBuilder modelBuilder) { modelBuilder.Entity
() .HasOne(p => p.BlogImage) .WithOne(i => i.Blog) .HasForeignKey
(b => b.BlogForeignKey); }}public class Blog{ public int BlogId { get; set; } public string Url { get; set; } public BlogImage BlogImage { get; set; }}public class BlogImage{ public int BlogImageId { get; set; } public byte[] Image { get; set; } public string Caption { get; set; } public int BlogForeignKey { get; set; } public Blog Blog { get; set; }}

 

使用Migraion

将Model模型放在单独的类库中

使用CLI commands

需要在此类库中安装Migration必须的Nuget包,编辑.csproj 

 

 

MSSql Server

dotnet ef migrations add Initial -c SchoolContext -o Data/SqlServerMigrations -s ../RelationshipStudydotnet ef database update -s ../RelationshipStudydotnet ef migrations remove -c SchoolContext -s ../RelationshipStudy

 

转载于:https://www.cnblogs.com/hahaxi/p/7705236.html

你可能感兴趣的文章
列表类型内置方法
查看>>
Java中IO操作
查看>>
黑马程序员训练营基础测试(Java版)
查看>>
动态主机配置协议(DHCP)
查看>>
Robot framework学习笔记
查看>>
HPUX修改disk实例号--11.31only
查看>>
linux运维、架构之路-Docker快速入门
查看>>
从人脑研究入手_使人工智能不再“四肢发达_头脑简单”
查看>>
centos6.8上PHP5.3升级到PHP5.4及更高版本方法
查看>>
django -----分页器组件
查看>>
win10家庭版添加本地账户方法
查看>>
Git学习笔记1---基础
查看>>
【转】微服务实践(七):从单体式架构迁移到微服务架构
查看>>
Vue开发中数据交互解决跨域问题
查看>>
qwb VS 去污棒 可持续化01字典树
查看>>
二叉树中和为某一值的路径
查看>>
ArrayList的toArray
查看>>
spring消费RESTfull服务
查看>>
Centos7通过yum安装nginx
查看>>
Darwin Streaming Server性能测试报告
查看>>