一个7重嵌套表EF添加语句,注意子表赋值过程中只需写子表主键赋值,不需要写子表外键=父表主键。EF创建时会自动将子表外键设为与父表主键相等
AIRPORT_HELIPORT tt = new AIRPORT_HELIPORT()
{
AIRPORT_HELIPORT_UUID = Guid.NewGuid().ToString(),
UNIT = new List<UNIT>()
{
new UNIT()
{
UNIT_UUID =Guid.NewGuid().ToString(),
SERVICE=new List<SERVICE>()
{
new SERVICE()
{
SERVICE_UUID=Guid.NewGuid().ToString(),
AIRPORT_GROUND_SERVICE= new AIRPORT_GROUND_SERVICE()
{
SERVICE_UUID=Guid.NewGuid().ToString(),
AIRPORT_SUPPLIES_SERVICE=new AIRPORT_SUPPLIES_SERVICE()
{
AIRPORT_SUPPLIES_SERVICE_TS=new List<AIRPORT_SUPPLIES_SERVICE_TS>()
{
new AIRPORT_SUPPLIES_SERVICE_TS()
{
TIME_SLICE_ID=Guid.NewGuid().ToString(),
INTERPRETATION="BASELINE",
SEQUENCE_NUMBER=1,
CORRECTION_NUMBER=1,
SERVICE_UUID=Guid.NewGuid().ToString(),
OIL=new List<OIL>()
{
new OIL()
{
OIL_ID=Guid.NewGuid().ToString()
}
}
}
}
}
}
}
}
}
}
};
AirportHeliportManager.Add(tt);
TAXIWAY_TS twts = new TAXIWAY_TS()
{
TIME_SLICE_ID = Guid.NewGuid().ToString(),
INTERPRETATION = "BASELINE",
SEQUENCE_NUMBER = 1,
CORRECTION_NUMBER = 1,
AIRPORT_HELIPORT_UUID = "1234567890",
DESIGNATOR="T",
TYPE = "TWY",
MANOEUVRING_AREA_AVAILABILITY = new List<MANOEUVRING_AREA_AVAILABILITY>()
{
new MANOEUVRING_AREA_AVAILABILITY()
{
PROPERTIES_WITH_SCHEDULE=new PROPERTIES_WITH_SCHEDULE()
{
PROPERTIES_WITH_SCHEDULE_ID=Guid.NewGuid().ToString()
},
MANOEUVRING_AREA_USAGE=new List<MANOEUVRING_AREA_USAGE>()
{
new MANOEUVRING_AREA_USAGE()
{
USAGE_CONDITION_ID=Guid.NewGuid().ToString(),
USAGE2CONTACT=new List<USAGE2CONTACT>()
{
new USAGE2CONTACT()
{
AIRPORT_USAGE2CONTACT_ID=Guid.NewGuid().ToString()
}
}
}
}
}
}
};
TAXIWAY_TSManager tsman= ManagerFactory.Instance.TAXIWAY_TSManager;
tsman.Add(twts);
NAVAID tt = new NAVAID()
{
NAVAID_UUID="987654321",
TERMINAL_SEGMENT_POINT = new List<TERMINAL_SEGMENT_POINT>()
{
new TERMINAL_SEGMENT_POINT()
{
NAVAID_UUID="987654321",
SEGMENT_POINT_ID=Guid.NewGuid().ToString(),
REPORTING_ATC="YES",
FLY_OVER="YES",
WAYPOINT="YES",
APPROACH_LEG_TS_STARPOINTP = new List<APPROACH_LEG_TS>()
{
new APPROACH_LEG_TS ()
{
TIME_SLICE_ID=Guid.NewGuid().ToString(),
INTERPRETATION="BASELINE",
SEQUENCE_NUMBER=1,
CORRECTION_NUMBER=1,
SEGMENT_LEG_UUID ="1",
ARRIVAL_FEEDER_LEG=new ARRIVAL_FEEDER_LEG() { SEGMENT_LEG_UUID="1"},
APP_SEGMENT_LEG_UUID="0",
INITIAL_LEG=new INITIAL_LEG() { SEGMENT_LEG_UUID="0"},
APP_SEGMENT_LEG_UUID2="2",
INTERMEDIATE_LEG=new INTERMEDIATE_LEG() { SEGMENT_LEG_UUID="2"},
APP_SEGMENT_LEG_UUID3="3",
FINAL_LEG=new FINAL_LEG() { SEGMENT_LEG_UUID="3"},
APP_SEGMENT_LEG_UUID4="4",
MISSED_APPROACH_LEG=new MISSED_APPROACH_LEG() { SEGMENT_LEG_UUID="4"},
FINAL_LEG_TS=new FINAL_LEG_TS()
{
TIME_SLICE_ID=Guid.NewGuid().ToString(),
INTERPRETATION="BASELINE",
SEQUENCE_NUMBER=1,
CORRECTION_NUMBER=1,
SEGMENT_LEG_UUID="7",
FINAL_LEG=new FINAL_LEG() { SEGMENT_LEG_UUID="7"}
}
}
}
}
}
};
NAVAIDManager nvman = ManagerFactory.Instance.NAVAIDManager;
nvman.Add(tt);
注意:如果A表继承于B表,则数据库中A表的主键会强制等于B表的主键,哪怕给A表设置了不同的主键,在Add()函数中也会将A表的主键强制设成B表的主键,而忽略赋予的值。如上面代码
中的FINAL_LEG_TS表继承于表APPROACH_LEG_TS,代码中虽然设置它的主键id值,但最终数据库还是将主键id设为与父表主键id相同。
一个7重嵌套表EF添加语句,注意子表赋值过程中只需写子表主键赋值,不需要写子表外键=父表主键。EF创建时会自动将子表外键设为与父表主键相等的更多相关文章
- Python中if __name__=="__main__" 语句在调用多进程Process过程中的作用分析
2018年2月27日 于创B515 引言 最近准备学习一下如何使用Python中的多进程.在翻看相关书籍.网上资料时发现所有代码都含有if __name__=="__main__" ...
- Oracle的学习二:表管理(数据类型、创建/修改表、添加/修改/删除数据、数据查询)
1.Oracle表的管理 表名和列名的命名规则: 必须以字母开头: 长度不能超过30个字符: 不能使用oracle的保留字: 只能使用如下字符:A-Z, a-z, 0-9, $, # 等. Oracl ...
- oracle创建表空间、创建用户、授权、夺权、删除用户、删除表空间
表空间定义 表空间是为了统一ORACLE物理和逻辑上的结构而专门建立的,从物理上来说,一个表空间是由具体的一个或多个磁盘上数据文件构成的(至少1对1,可以1对多),从逻辑上来说一个表空间是由具体的一个 ...
- java循环嵌套与跳转语句(break,continue)
一 循环嵌套 嵌套循环是指在一个循环语句的循环体中再定义一个循环语句的语法结构.while.do…while. for循环语句都可以进行嵌套,并且它们之间也可以互相嵌套,如最常见的在for循环中嵌套f ...
- 将输出语句打印至tomcat日志文件中
tomcat-9.0.0 将程序中 System.out.println("------------这是输出语句System.out.println()-------- ...
- MySQL数据库 crud语句 ifnull() 创建新账户 备份数据库 一对多关系 多对多(中间表) 外键约束 自关联 子查询注意事项 DML DDL DQL mysql面试题 truncate与delete的区别
DML(data manipulation language): 它们是SELECT.UPDATE.INSERT.DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言 DDL ...
- SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束
创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...
- 022. ASP.NET为DataSet中数据集添加关系及动态创建主子表和添加主子表关系
protected void Page_Load(object sender, EventArgs e) { string connectionString = "server=.;data ...
- MySQL Workbench 创建数据库,添加新表,添加字段
建立数据库 第一步: 第二步: 第三步: 如图弹出弹框,继续点击Apply按钮,最后点击Finish按钮完成数据库的建立 创建表与添加字段 双击!!! 一下刚刚建立好的数据库,然后再创建表,不然会出 ...
随机推荐
- 【2018年全国多校算法寒假训练营练习比赛(第四场)-D】小明的挖矿之旅
题目链接:https://www.nowcoder.com/acm/contest/76/D 做题时没注意到“无论出现在哪个格子”..题中也没说明一个格子只能经过一次,其实没有想象的复杂. 判断如果点 ...
- 【专题】区间dp
1.[nyoj737]石子合并 传送门:点击打开链接 描述 有N堆石子排成一排,每堆石子有一定的数量.现要将N堆石子并成为一堆.合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这 ...
- 一次完整的HTTP请求
HTTP通信机制是在一次完整的HTTP通信过程中,Web浏览器与Web服务器之间将完成下列7个步骤: 1:建立TCP连接,TCP的三次握手 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服 ...
- python基础之递归,声明式编程,面向对象(一)
在函数内部,可以调用其他函数,如果一个函数在内部调用自身本身,这个函数就是递归函数.递归效率低,需要在进入下一次递归时保留当前的状态,解决方法是尾递归,即在函数的最后一步(而非最后一行)调用自己,但是 ...
- LeetCode OJ:Happy Number(欢乐数)
Write an algorithm to determine if a number is "happy". A happy number is a number defined ...
- build.prop文件介绍与用法举例
build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变 以下是修改教程及一些build.prop参数的中英文对照解释,修改前,注意先备份原build. ...
- [QT][SQLITE][QTDEMO]qt5.8_sqlite数据库_demo
qt环境:5.8 数据库:sqlite //-------------------------------------- sqlite 日期 搜索 -------------------------- ...
- Jolt Awards: The Best Books
Jolt大奖素有“软件业界的奥斯卡”之美誉,共设通用类图书.技术类图书.语言和开发环境.框架库和组件.开发者网站等十余个分类,每个分类设有一个“震撼奖”(Jolt Award)和三个“生产力奖”(Pr ...
- 微型 Python Web 框架: Bottle
微型 Python Web 框架: Bottle 在 19/09/11 07:04 PM 由 COSTONY 发表 Bottle 是一个非常小巧但高效的微型 Python Web 框架,它被设计为仅仅 ...
- 实现一个scnprinf
#include <stdio.h> #include <stdarg.h> /* 该函数ret = min(size, 实际写入长度) - 1,即ret永远小于size * ...