在entity framework
core中,如果两个实体涉及到外键连接,查询的时候默认是只查自身而不会去查询外键表的。如果想要让查询结果包含外键实体,则需要
使用include方法来让查询结果包含外键实体。如
_dbContext.ProductStandard.
Include(o=>o.Product).SingleOrD
efault(o => o.Id == id);
EF Core使用Include和join
在EF中表连接常用的有Join()和Include(),两者都可以实现两张表的连接,但又有所不同。
例如有个唱片表Album(AlbumId,Name,CreateDate,GenreId),表中含外键GenreId连接流派表Genre(GenreId,Name)。每个唱片归属唯一一个流派,一个流派可以对应多个唱片。
1.Join():
两表不必含有外键关系,需要代码手动指定连接外键相等(具有可拓展性,除了值相等,还能指定是>,<以及其他对两表的相应键
A l
eft
join B 的连接的记录数与A表的记录数同
A right
join B 的连接的记录数与B表的记录数同
A l
eft
join B 等价B right
join A
table A:
Field_K, Field_A
1 a
3 b
4 c
table