EF 通过导航添加数据
Fluent Api是指定模型与数据库表之间的对应关系
//一对多
this.HasOptional(x => x.主表).WithMany(x => x.多表).HasForeignKey(x => x.多表关联的主表id); //一对一 this.HasRequired(x => x.表1).WithOptional(x => x.表2);
表中都有对应的主键,没有外键
两个表实体如下
用户表
public class User
{
public User()
{
Orders =new HashSet<OrderInfo>()
} public int Id{get;set;}
public string Name{get;set;} public virtual ICollection<OrderInfo> Orders {get;set;}
}
订单表
public class OrderInfo
{
public int Id { get; set; }
public string OrderNo { get; set; } public string OrderName { get; set; }
public virtual User User { get; set; }
}
通过Fluent Api指定用户与订单的对应关系
public class OrderInfo: EntityTypeConfiguration<OrderInfo>
{
public OrderInfo()
{
// Primary Key
this.HasKey(t => t.Id); // Table & Column Mappings
this.ToTable("OrderInfo");
//添加导航属性
//
this.HasOptional(x => x.User).WithMany(x => x.OrderInfo).HasForeignKey(x => x.Id);
}
}
添加数据 会同时保存用户表和订单表
User u=new User();
u.Name="张三";
OrderInfo orderInfo=new OrderInfo ();
u.Orders.Add(new OrderInfo(){ OrderNo=""})
u.Orders.Add(new OrderInfo(){ OrderNo=""})
db.User.Add(u);
db.SaveChanges();
EF 通过导航添加数据的更多相关文章
- 文章翻译:ABP如何在EF core中添加数据过滤器
原文地址:https://aspnetboilerplate.com/Pages/Documents/Articles%5CHow-To%5Cadd-custom-data-filter-ef-cor ...
- EF批量添加数据性能慢的问题的解决方案
//EF批量添加数据性能慢的问题的解决方案 public ActionResult BatchAdd() { using (var db = new ToneRoad.CEA.DbContext.Db ...
- ef添加数据时出错 System.Data.Entity.Infrastructure.DbUpdateConcurrencyException”类型的异常
找半天才找到 ef添加数据时出错原因:数据库表中没有主键 ,就算表中有自增列 Added方法也会报错: - this._db.SaveChanges() “this._db.SaveCh ...
- MVC学习笔记(三)—用EF向数据库中添加数据
1.在EFDemo文件夹中添加Controllers文件夹(用的是上一篇MVC学习笔记(二)—用EF创建数据库中的项目) 2.在Controllers文件夹下添加一个空的控制器(StudentsCon ...
- EF里Guid类型数据的自增长、时间戳和复杂类型的用法
通过前两章Lodging和Destination类的演示,大家肯定基本了解Code First是怎么玩的了,本章继续演示一些很实用的东西.文章的开头提示下:提供的demo为了后面演示效果,前面代码有些 ...
- EF方便的添加一条信息...
//刚开始通过EF添加数据都是这样的...↓ var db = new DBEntities() T_User t_userinfo = new T_User() { Type = "typ ...
- [搜索]ElasticSearch Java Api(一) -添加数据创建索引
转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://www.elast ...
- WithOne 实体关系引起 EF Core 自动删除数据
最近遇到了一个 EF Core 的恐怖问题,在添加数据时竟然会自动删除数据库中已存在的数据,经过追查发现是一个多余的实体关系配置引起的. modelBuilder.Entity<Question ...
- 20.1翻译系列:EF 6中自动数据迁移技术【EF 6 Code-First系列】
原文链接:https://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx EF 6 ...
随机推荐
- (转)linux内核虚拟文件系统浅析【转】
转自:https://www.cnblogs.com/woainilsr/p/3590716.html 转自http://hi.baidu.com/_kouu/item/4e9db8758032824 ...
- (七)OpenStack---M版---双节点搭建---Dashboard安装和配置
↓↓↓↓↓↓↓↓视频已上线B站↓↓↓↓↓↓↓↓ >>>>>>传送门 1.安装并配置 2.重启apache和memcached服务 3.验证 4.在Web界面创建网络 ...
- nginx源码安装与使用
[root@localhost ~]# yum -y install pcre-devel zlib-devel openssl openssl-devel gcc* [root@localhost ...
- CF891B Gluttony
原题链接 DOWNLOAD AS PDF 题目大意 给你一个有\(n\)个元素的数组\(a\),让你构造一个数组\(b\),满足从 \(a\).\(b\)中任选出\(k\)个下标对应的元素,它们的和不 ...
- zz全面拥抱Transformer
放弃幻想,全面拥抱Transformer:自然语言处理三大特征抽取器(CNN/RNN/TF)比较 在辞旧迎新的时刻,大家都在忙着回顾过去一年的成绩(或者在灶台前含泪数锅),并对2019做着规划,当然也 ...
- TYVJ1071 LCIS 线性DP+决策集优化
问题描述 TYVJ1071 题解 暴力\(\mathrm{DP}\) 首先,一个\(O(n^3)\)的解法: 设\(opt_{i,j}\)代表\(a\)的前\(i\)个和\(b\)的前\(j\)个的\ ...
- 修改Feign数据解析,由jackson改为fastjson,同时解决fastjson中Content-Type问题
https://my.oschina.net/u/3419586/blog/2964047 背景:在用Feign Client 接口调用,由于jackson对null等特殊值处理存在异常,故改用fas ...
- [1018NOIP模拟赛]
题目描述 Description 精灵王国要同侵略 $ Bzeroth $ 大陆的地灾军团作战了. 众所周知,精灵王国有 \(N\) 座美丽的城市,它们以一个环形排列在$ Bzeroth$ 的大陆上. ...
- Python面向对象 | 鸭子方法
鸭子类型 如果看起来像.叫声像而且走起路来像鸭子,那么它就是鸭子’.python程序员通常根据这种行为来编写程序.例如,如果想编写现有对象的自定义版本,可以继承该对象,也可以创建一个外观和行为像,但与 ...
- ESP8266 LUA脚本语言开发: 准备工作-为方便学习(统一使用本人编译的固件)
前言 注:为了咱后期统一起来,所以统一使用我编译的LUA固件 一,固件打开了SmartConfig / AirKiss 配网功能 二,打开了SSL 三,其它模块化程序 刷空固件 一,为了保证固件是干净 ...