一个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按钮完成数据库的建立 创建表与添加字段 双击!!! 一下刚刚建立好的数据库,然后再创建表,不然会出 ...
随机推荐
- LeetCode OJ:Permutations(排列)
Given a collection of numbers, return all possible permutations. For example,[1,2,3] have the follow ...
- LeetCode OJ:Roman to Integer(转换罗马字符到整数)
Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from 1 t ...
- LeetCode OJ:Two Sum(两数之和)
Given an array of integers, find two numbers such that they add up to a specific target number. The ...
- 2017.10.26 ECN + product spec+ cypress ble module test+
1 ECN Ecn should be issued when modifying drawing,Copy children BOM of subassembly from BIL if one ...
- PostgreSQL EXPLAIN执行计划学习--多表连接几种Join方式比较
转了一部分.稍后再修改. 三种多表Join的算法: 一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择.在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表 ...
- java svnkit实现svn提交,更新等操作
官网:https://svnkit.com/ api:https://svnkit.com/javadoc/org/tmatesoft/svn/core/io/SVNRepository.html w ...
- std::hash实现太简单分布不匀
std::hash实现太简单分布不匀(金庆的专栏 2017.5)#include <iostream>#include <functional>using namespace ...
- 安装使用lynis扫描Linux的安全漏洞
Lynis是Linux平台上的一款安全漏洞扫描工具.它可以扫描系统的安全漏洞.收集系统信息.安装的软件信息.配置问题.没有设置密码的用户和防火墙等等. Lynis是流行可靠的安全扫描工具. 前不久,L ...
- [QT][待解决问题]对话框ui载入卡顿问题
电脑运行环境:win7 + qt-opensource-windows-x86-mingw530-5.8.0源码是 < Qt快速入门系列教程目录 > 第3篇 Qt5基础(三)Qt登录对话框 ...
- 【MFC】mfc控件位置调整和坐标确定 .
摘自DoubleLi: http://www.cnblogs.com/lidabo/archive/2012/08/24/2654678.html mfc控件位置调整和坐标确定 http://my ...