1.新建.netCore Web项目。这时候,还与EF没啥关系。

2.然后添加类 Bolg.和 Post   参考这里  https://docs.microsoft.com/en-us/ef/core/modeling/relational/fk-constraints

public class Blog
{
public int BlogId { get; set; }
public string Url { get; set; } public List<Post> Posts { get; set; }
} public class Post
{
public int PostId { get; set; }
public string Title { get; set; }
public string Content { get; set; } public int BlogId { get; set; }
public Blog Blog { get; set; }
}

3.新增控制器Blogs。使用 “”其操作使用EF 的控制器“。

这时候会从Nuget 上安装EF 相关的类库。

还会生成 这个上下文类

public class MyEFTestContext : DbContext
{
public MyEFTestContext (DbContextOptions<MyEFTestContext> options)
: base(options)
{
} public DbSet<MyEFTest.Models.Blog> Blog { get; set; }
}

4.执行 add-migration. 会生成migration 文件夹。下面会有迁移文件和 snap.cs 文件。

可以看到。在迁移文件中。

 modelBuilder.Entity("MyEFTest.Models.Post", b =>
{
b.HasOne("MyEFTest.Models.Blog", "Blog")
.WithMany("Posts")
.HasForeignKey("BlogId")
.OnDelete(DeleteBehavior.Cascade);
});

这里指定了外键关系。

再添加

public class RssBlog : Blog
{
public string RssUrl { get; set; }
}

这会扩展Blog 表。扩展的语句也是自动生成的。

  protected override void Up(MigrationBuilder migrationBuilder)
{
migrationBuilder.AddColumn<string>(
name: "Discriminator",
table: "Blog",
nullable: false,
defaultValue: ""); migrationBuilder.AddColumn<string>(
name: "RssUrl",
table: "Blog",
nullable: true);
}

执行 update-database. 数据库文件会在 C:\Users\QiGongbo  这个下面生成。

打卡VS下的服务器资源管理器,就能看到这个数据库中表的定义。

最新文章

  1. C#和Java中的Substring()
  2. 项目文件中含有两个config文件,app.config与app1.config,如何获取app1.config中的配置
  3. 137. Single Number II——问题是查找,本质是hash查找,只是记录的是32 bit中各个位出现次数而已
  4. java 计算器基于工厂模式和功能单一模式
  5. hdu 5312 Sequence(数学推导+线性探查(两数相加版))
  6. Swift - String与NSString的区别,以及各自的使用场景
  7. NYoj_20吝啬的国度
  8. Python中if __name__==&quot;__main__&quot; 语句在调用多进程Process过程中的作用分析
  9. 微信小程序基于第三方websocket的服务器端部署
  10. spring中基于注解使用AOP
  11. vue-cli: preset预设
  12. js call 理解
  13. IntelliJ IDEA 构建maven多模块项目
  14. 解决Firefox下,页面元素不刷新问题
  15. 【Java】 剑指offer(55-1) 二叉树的深度
  16. WebService的一种简单应用方式入门
  17. 图像检索:一维直方图+欧几里得距离+flann+KNN
  18. Linux中chown、chmod、chgrp
  19. php时间戳函数mktime()
  20. Luogu3804 【模板】后缀自动机

热门文章

  1. ReactJS和AngularJS对比
  2. OpenResty之指令与常用API
  3. delphi nethttpclient操作cookie
  4. web前端——Vue.js基础学习
  5. fcgi vs. gunicorn vs. uWSGI
  6. [转]SQL 读取表结构
  7. scikit-learn机器学习(三)多项式回归(二阶,三阶,九阶)
  8. GO 语言常用排序
  9. 在Flutter中构建布局
  10. UPDATE SELECT OUTPUT