Folk vil måske hævde, at dette er bedre egnet som en kommentar, men dybest set er det at længes efter det.
Og:
Du bliver nødt til at hjælpe mig lidt, da jeg ikke har et fungerende system ved hånden, så jeg gør dette fra toppen af mit hoved. (og jeg har lidt travlt)
Start først med en ikke-tilknyttet egenskab:
[NotMapped]
public DateTime ExpiryDate { get; set; }
Denne egenskab er ikke kortlagt. Det kan føre til nogle fejl vedrørende databasen, der ikke matcher modellen, men det kan vi overvinde. Denne egenskab udfyldes ikke automatisk, når der forespørges på dataene. Så vi har brug for en måde at håndtere dette selv på.
For eksempel (hvilket er et dårligt eksempel, fordi vi har brug for konteksten i entiteten et eller andet sted ):
[NotMapped]
public DateTime? ExpiryDate
{
get
{
//of course you'll need some caching here
var s = context.Database.SqlQuery<string>("query to select datetime as string");
//additional logic to determine validity:
if (s == "0000-00-00")
return null;
//else:
//do the conversion
}
}
Det grundlæggende spørgsmål her; hvor langt vil du gå for at støtte dette inden for EF-rammerne? Behøver du kun at læse den, eller også skrive, ved at bruge EF-skiftsporeren osv.?
Der er andre muligheder, for eksempel at udføre en CAST til nvarchar i selve SQL'en for at få dataene og behandle dem yderligere.
Måske ModelBuilder
afslører nogle yderligere muligheder.