EF CodeFirst(四) 关系
一对多
public class Blog
{
public string ID { get; set; }
public string BlogName { get; set; }
public string BlogAuthor { get; set; }
public virtual List <Post> Posts { get; set ; } //导航属性
public virtual List <Article> Articles { get; set; } //导航属性
[ Timestamp]
public byte [] version { get; set; }
} public class Post
{
public string ID { get; set; }
public string PostName { get; set; }
public string Content { get; set; }
public virtual Blog BelongBlog { get; set; } //导航属性
}
public class Article
{
public string ID { get; set; }
public string ArticleName { get; set; }
public string Content { get; set; }
}

public Person CreatedBy { get; set; }
public Person UpdatedBy { get; set; }
public virtual List<Post> PostsWritten { get; set; }
public virtual List <Post> PostsUpdated { get; set ; }

[InverseProperty( "CreatedBy")]
public virtual List <Post> PostsWritten { get; set ; }
[ InverseProperty("UpdatedBy" )]
public virtual List <Post> PostsUpdated { get; set ; }

public class Student
{
public int StudentID { get; set; }
public string Name { get; set; }
public List <Course> Courses { get; set ; }
}
public class Course
{
public int CourseID { get; set; }
public string CourseName { get; set; }
public List <Student> Students { get; set ; }
}

在一对一和一对多的关系之后,我们回头再来讲一对一的关系。
public class Book
{
public int BookID { get; set; }
public string Name { get; set; }
public BookCover Cover { get; set; }
} public class BookCover
{
[ Key , ForeignKey ("Coverof" )]
public int BookID { get; set; }
public byte [] Photo { get; set; }
public Book Coverof { get; set; }
}
EF CodeFirst(四) 关系的更多相关文章
- 1.【使用EF Code-First方式和Fluent API来探讨EF中的关系】
原文链接:http://www.c-sharpcorner.com/UploadFile/3d39b4/relationship-in-entity-framework-using-code-firs ...
- EF CodeFirst系列(6)---配置1对1,1对多,多对多关系
这一节介绍EF CodeFirst模式中的1对0/1,1对多,多对多关系的配置,只有梳理清楚实体间的关系,才能进行愉快的开发,因此这节虽然很简单但是还是记录了一下. 1. 1对0/1关系配置 1. 通 ...
- EF Codefirst 中间表(关系表)的增删改查(转)
EF Codefirst 多对多关系 操作中间表的 增删改查(CRUD) 前言 此文章只是为了给新手程序员,和经验不多的程序员,在学习ef和lambada表达式的过程中可能遇到的问题. 本次使用订 ...
- EF CodeFirst系列(2)---CodeFirst的数据库初始化
1. CodeFirst的默认约定 1.领域类和数据库架构的映射约定 在介绍数据库的初始化之前我们需要先了解领域类和数据库之间映射的一些约定.在CodeFirst模式中,约定指的是根据领域类(如Stu ...
- [.NET领域驱动设计实战系列]专题一:前期准备之EF CodeFirst
一.前言 从去年已经接触领域驱动设计(Domain-Driven Design)了,当时就想自己搭建一个DDD框架,所以当时看了很多DDD方面的书,例如领域驱动模式与实战,领域驱动设计:软件核心复杂性 ...
- EF CodeFirst 创建数据库
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 话说EF支持三种模式:Code First M ...
- 新年奉献MVC+EF(CodeFirst)+Easyui医药MIS系统
本人闲来无事就把以前用Asp.net做过的一个医药管理信息系统用mvc,ef ,easyui重新做了一下,业务逻辑简化了许多,旨在加深对mvc,ef(codefirst),easyui,AutoMap ...
- EF CodeFirst系列(3)---EF中的继承策略(暂存)
我们初始化数据库一节已经知道:EF为每一个具体的类生成了数据库的表.现在有了一个问题:我们在设计领域类时经常用到继承,这能让我们的代码更简洁且容易管理,在面向对象中有“has a”和“is a”关系 ...
- NetCore2.0下使用EF CodeFirst创建数据库
本文所使用的VS版本:VS2017 15.3.0 首先新建一个.net core项目 取名NetCoreTask 使用模型视图控制器方式 新建Model层 在Model层下新建一个user实体类 1 ...
随机推荐
- 百度小程序button去掉默认边框
百度小程序button去掉默认边框: button::after{ border:none; }
- Django 实现第三方账号登录网站
这里我们使用 django-allauth 模块来实现第三方账号验证登录,官方文档如下:https://django-allauth.readthedocs.io/en/latest/ . 安装 dj ...
- cad2015卸载/安装失败/如何彻底卸载清除干净cad2015注册表和文件的方法
cad2015提示安装未完成,某些产品无法安装该怎样解决呢?一些朋友在win7或者win10系统下安装cad2015失败提示cad2015安装未完成,某些产品无法安装,也有时候想重新安装cad2015 ...
- 关于 IPv6
http://test-ipv6.com/ http://bbs.chinaunix.net/thread-1799798-1-1.html
- 脱壳系列—— 揭开so section加密的美丽外衣
i春秋作家:HAI_ 0×00 前言 对so的加密,https://bbs.pediy.com/thread-191649.htm大神的帖子里已经很详细的说明了.当然加密不是我们研究的重点,如何搞掉这 ...
- Storm入门示例
开发Storm的第一步就是设计Topology,为了方便开发者入门,首先我们设计一个简答的例子,该例子的主要的功能就是把每个单词的后面加上Hello,World后缀,然后再打印输出,整个例子的Topo ...
- 《UNIX环境网络编程》第十四章第14.9小结(bug)
1.源代码中的<sys/devpoll.h>头文件在我的CentOS7系统下的urs/include/sys/目录下没有找到. 而且我的CentOS7也不存在这个/dev/poll文件. ...
- 安装MySQL-python时报错
(py27) [root@test SimpletourDevops]# pip install MySQL-python DEPRECATION: Python 2.7 will reach the ...
- Centos 7 快速搭建IOS可用IPsec
安装 strongswan yum install -y http://ftp.nluug.nl/pub/os/Linux/distr/fedora-epel/7/x86_64/Packages/e/ ...
- C# 多线程五之Task(任务)一
1.简介 为什么MS要推出Task,而不推Thread和ThreadPool,以下是我的见解: (1).Thread的Api并不靠谱,甚至MS自己都不推荐,原因,它将整个Thread类都不开放给Win ...