Ich habe ein Nullable
BIGINT
Feld in der Datenbanktabelle.Query Nullable Spalte Linq zu Sql
Ich verwende linq
zu sql
, um Daten aus dieser Tabelle in C# abzurufen.
c.ExtensionID == (extensionID == 0 (long) null:? ExtensionID)
Das obige Stück Code ist, was ich bin derzeit mit, aber es zurückgibt mir nicht die Zeilen mit Null in ExtensionID
Spalte.
aber wenn ich es wie c.ExtensionID == null
verwende, dann wird es Datensätze zurückgeben.
Unten ist die vollständige LINQ zu SQL-Code.
var q = (from c in dbContext.Investments
join cd in dbContext.ContractContractorDetails
on c.ContractContractorId equals cd.ID
join cc in dbContext.ContractorCategories
on c.ContractorCategory equals cc.ID
join ic in dbContext.InvestmentCategories
on c.InvestmentCategory equals ic.ID
where c.InvestmentClassificationType == type && cd.ContractId.Equals(ContractID) && c.Phase == phase && c.ExtensionID == (ExtensionId == 0 ? (long?)null : ExtensionId)
select new
{
ID = c.ID,
Year = c.Year,
ContractorCategory = c.ContractorCategory,
ContractorCategoryName = cc.Name,
CompanyName = c.CompanyName,
InvestmentCategory = c.InvestmentCategory,
InvestmentCategoryName = ic.Name,
Summary = c.Summary,
IsContractRelated = c.IsContractRelated,
InvestmentAmount = c.InvestmentAmount,
Phase = c.Phase,
InvestmentClassificationType = c.InvestmentClassificationType,
ContractContractorId = c.ContractContractorId,
CreatedBy = c.CreatedBy,
LastUpdatedOn = c.LastUpdatedOn,
LastUpdatedBy = c.LastUpdatedBy,
Period=c.Period,
ExtensionId = c.ExtensionID
}).ToList();
vielleicht '' 'extensionID ist nie 0 '. Überprüfe du 'ExtensionId = 0'? – Eldeniz
Ja, ich habe überprüft, es gab mir keine Zeilen zurück. –
Haben Sie wirklich Daten in der Datenbank für 'ExtensionID = null'? – Eldeniz