一个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按钮完成数据库的建立 创建表与添加字段 双击!!! 一下刚刚建立好的数据库,然后再创建表,不然会出 ...
随机推荐
- opencv:直方图操作
示例程序: #include <opencv.hpp> using namespace cv; using namespace std; int main() { Mat src, dst ...
- WEKA运行参数修改(RunWeka.ini文件)
一般使用weka进行数据挖掘的时候会碰到两个问题,一是内存不够,二是libsvm使用不了,这时就需要重新配置RunWeka.ini文件,解决上述问题.查看RunWeka.ini原文如下: # Cont ...
- 旧书重温:0day2【4】动态获取函数地址
通过以上3篇文章的学习,我们已经可以获取到kernel32.dll的地址了下一步 我们就是获取几个重要的函数 1.GetProcAddress 2.LoadLibrary 有了这两个函数很多函数都可以 ...
- 【Android】Android 学习记录贴
官网 教程学习笔记 Genymotion 安卓虚拟器太慢,用Genymotion(装载eclipse的插件) 利用Genymotion运行Android应用程序 1.首先,点击 来启动或者创建您要使用 ...
- asp.net core mcroservices 架构之 分布式日志(三):集成kafka
一 kafka介绍 kafka是基于zookeeper的一个分布式流平台,既然是流,那么大家都能猜到它的存储结构基本上就是线性的了.硬盘大家都知道读写非常的慢,那是因为在随机情况下,线性下,硬盘的读写 ...
- Python笔记-2
一.列表的定义及操作 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作. 1.列表的格式及赋值 列表,使用中括号括起来,元素之间用逗号隔开,列表中的元素具有明确的位 ...
- css关系选择符
<!Doctype html> <html> <head> <meta http-equiv="Content-Type" content ...
- ArcGIS_Server的安装
1.双击ArcGIS_for_Server_Windows_103_142101.exe 2.下一步 3.关闭 4.Win10系统弹出询问框是否更改程序,点击“”是“” 5.开始安装程序,点击next ...
- HttpClient超时设置
场景:最近并发较高,看到响应时间6s的时候,心里咯噔一下,我记得我设置的超时时间是5s啊. 原来读取超时时间没生效,只生效了连接超时时间. ConnectionPoolTimeoutExcepti ...
- Hadoop体系结构之 HDFS
HDFS采用主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的(在最新的Hadoop2.2版本已经实现多个NameNode的配置-这也是一 ...