Ich habe eine Linq-Abfrage mit einer where-Klausel, wie untenLinq Sql Int null gleich null. Nicht wiederkehrende Reihen
var ExistingGroupDataSource = (from ppatg in dbContext.XXXXXXXXX
join pd1 in dbContext.XXXXXXXXXXX on ppatg.ScheduleID equals pd1.ScheduleID
where pd1.GroupID == null
select
new
{
FinishPDI = pd1.ProductionDateID,
FinishingDate = pd1.WorkFlowDate,
ppatg.GroupName,
ppatg.PNTGroupID
});
In der Datenbank GroupID ist ein int, die null sein kann. Die linq-Abfrage gibt Zeilen ohne die gefilterte where-Klausel zurück, aber keine, wenn ich die where-Klausel einschließe. In der Spalte GroupId in der Datenbank sind Nullwerte.
Es ist definitiv diese Aussage, die keine Ergebnisse produziert. Die ganze Literatur zu diesem Thema sagt online, dass diese äquivalent zu
pd1.GroupID is null // in sql
ich Ergebnisse bin immer, dass dies im Widerspruch zu
SQL-Code ist
select pd1.ProductionDateID as FinishPDI, pd1.WorkflowDate as FinishingDate,GroupName ,PNTGroupId
from XXXXXXXXXXXX
inner join XXXXXXXXXXXX pd1 on
XXXXXXXXXXXX.ScheduleId = pd1.ScheduleID
where pd1.GroupID is null
Ist GroupID in Ihr Modell ein NULL-fähiger Typ? –
Ja, in der Modell GroupID ist ein int? –
Es sollte int sein? Gruppen-ID. –