一个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按钮完成数据库的建立 创建表与添加字段 双击!!! 一下刚刚建立好的数据库,然后再创建表,不然会出 ...
随机推荐
- Linux CentOS服务启动
Linux CentOS下如何确认MySQL服务已经启动 Linux CentOS一般做为服务器使用,因此,MySQL服务应该随开机自动启动的.正常情况下,查看开机自动启动的服务使用chkconf ...
- mysql注入介绍
0. SQL注入常用的尝试语句: or 1=1--+ 'or 1=1--+ "or 1=1--+ )or 1=1--+ ')or 1=1--+ ") or 1=1--+ " ...
- LeetCode OJ:Linked List Cycle(链表循环)
Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...
- 原创:Angular + controllerAs + CoffeeScript的一个问题,及其解决方案
config是一个待注入的value,它的值是{count: 1} 看代码(用普通函数的写法): $routeProvider.when '/test', template: "Hello ...
- Electron 打包时下载 xxx-electron-v1.6.8--x64.zip 文件出错
Electron 打包时下载 xxx-electron-v1.6.8--x64.zip 文件出错 今天在windows上打包其它平台的Electron应用的时候,由于是第一次,所以总是下载 xxx-e ...
- CentOS 7下sqlite3的问题修复
Centos7下的nltk启动问题 CentOS 7, Python 3.6,ipython 6.0.0 问题描述 ipython 启动ipython命令 import nltk 爆出以下的错误信息: ...
- 【MFC】如何在MFC创建的程序中更改主窗口的属性 与 父窗口 WS_CLIPCHILDREN 样式 对子窗口刷新的影响 与 窗体区域绘制问题WS_CLIPCHILDREN与WS_CLIPSIBLINGS
如何在MFC创建的程序中更改主窗口的属性 摘自:http://blog.sina.com.cn/s/blog_4bebc4830100aq1m.html 在MFC创建的单文档界面中: (基于对话框的, ...
- 狗狗有关的知识tips
<h5>tips1</h5>狗狗脑袋里最关心的事:一是食物,二是性.想教育狗,就要顺应狗狗的想法,而不是一味地以暴力相待.<h5>tips2</h5>” ...
- 剑指offer-第三章高质量代码(反转链表)
题目:定义一个函数,输入一个链表的头节点,反转该链表并输出反转链表的头节点. 思路:对一个链表反转需要三个指针操作来保证链表在反转的过程中保证不断链,给链表一个行动指针pNode,对pNode指向的节 ...
- matlab数据流仿真和时间流仿真
simulink 使用的动态系统仿真,仿真需要求状态方程和输出方程,关键是求状态方程,而状态方程的求解有多种算法,可变步长和定步长,所以仿真时对求解器的选择和步长的设置就比较重要. 所谓基於数据流的仿 ...