Ich habe folgende 2 Klassen. Ich verwende den EF-Code zuerst mit der vorhandenen Datenbank.C# - Holen Sie sich Daten mit EF-Code zuerst - DbContext
public class Asset
{
[Key]
public decimal AssetId { get; set; }
[StringLength(20)]
public string AssetNumber { get; set; }
public decimal? DistrictId { get; set; }
public virtual District District { get; set; }
}
public class District
{
[Key]
public decimal? DistrictId { get; set; }
[StringLength(20)]
public string DistrictCode { get; set; }
[StringLength(255)]
public string Description { get; set; }
public virtual ICollection<Asset> Assets { get; set; }
}
Ich brauche die Liste der Vermögenswerte zu erhalten, wo DistrictId nicht null ist.
Ich verwende folgende C# -Code:
IQueryable<CustomClass> assets = dbContext.Assets
.Where(a => a.DistrictId != null)
.Select(a => new CustomClass
{
});
ich mit Navigationseigenschaften glauben, Sie müssen nicht explizit Say-Wo (a => a.DistrictId = null). Ich bin mir nicht sicher. Also können Sie vorschlagen, was der bessere Weg ist, eine Liste von Assets zu erhalten, bei denen DIstrictId nicht null ist.
Danke,
Haben Sie versucht: (! A => a.District = null) IQueryable Vermögen = dbContext.Assets .Where .Select (a => new Custom { }); oder auch nur: IQueryable Vermögen = dbContext.Assets .Where (a => a.DistrictId.HasValue) .Select (a => new Custom { }); ? –
HaukurHaf
Ich habe versucht IQueryable assets = dbContext.Assets. Wo (a => a.District! = Null). Wählen Sie (a => neue CustomClass {}); - Es funktioniert. Aber nicht sicher, es ist der beste Weg, um das Ergebnis zu erreichen. –
user659469
Ich glaube nicht, dass es einen besseren Weg gibt. Es ist richtig auf den Punkt. Wie könnte es einfacher sein? Ich glaube nicht. – HaukurHaf