SQL语句不可以包含关联的导航属性, 但是可以配合Include使用以达到该效果(https://docs.microsoft.com/en-us/ef/core/querying/raw-sql#including-related-data...插入关联数据有几种情况:
1.直接把要添加的Model的导航属性附上值就可以了, 这里的Department不需要写外键....看一下Sql:
这个过程一共分两步: 1 插入主表, 2,使用刚插入主表数据的Id, 插入子表数据.
2.为数据库中的数据添加导航属性....这时, 因为该数据是被context追踪的, 所以只需在它的导航属性添加新记录, 然后保存即可.
3.离线数据添加导航属性.
这时候就必须使用外键了.
预加载关联数据 Eager Loading....也就是查询的时候一次性把数据和其导航属性的数据一同查询出来.
看看SQL:
这个过程是分两步实现的, 首先查询了主表, 然后再查询的子表. 这样做的好处就是性能提升.