【发布时间】:2010-07-28 16:18:31
【问题描述】:
我玩过实体框架和 MySQL 驱动程序。如果这是一个愚蠢的问题,请原谅。表广告对空缺的 PK 有一个 FK。这两个字段都标记为 NOT NULL。我正在执行一个简单的连接:
var qry = (from vacancy in context.vacancies
join advert in context.adverts on vacancy.id equals advert.vacancies.id
where advert.status == 1
select
new
{
Id = advert.id
})
;
这会生成以下 SQL:
SELECT 1 AS C1, Extent2.id FROM vacancies AS Extent1
INNER JOIN adverts AS Extent2 ON (Extent1.id = Extent2.vacancy_id) OR ((Extent1.id IS NULL) AND (Extent2.vacancy_id IS NULL))
WHERE 1 = Extent2.status
当列未标记为可为空时,为什么 EF 会为连接生成“IS NULL”条件?
谢谢,
鲍勃
【问题讨论】:
标签: mysql entity-framework linq-to-entities