Vraag SQL 'time' type in Entity Framework Code eerst


Ik probeer een kolom 'tijd (7)' te maken in een tabel met eerst Entity Framework Code. Dit is mijn entiteit:

public class ShiftDetail
{
    public long Id { get; set; }

    [Required]
    public int DayOfWeek { get; set; }

    [Required]
    [Column(TypeName="time")]
    public DateTime StartTime { get; set; }

    [Required]
    [Column(TypeName = "time")]
    public DateTime EndTime { get; set; }

    public long ShiftId { get; set; }
    public virtual Shift Shift { get; set; }
}

Zoals u kunt zien, probeer ik het databasetype voor de kolommen StartTime en EndTime in te stellen op "tijd", maar ik krijg de volgende foutmelding:

(112,12): error 2019: Member Mapping is niet geldig. Het type 'Edm.DateTime [Nullable = False, DefaultValue =, Precision =]' van het lid 'StartTime' in het type 'ShiftDetail' is niet compatibel met 'SqlServer.time [Nullable = False, DefaultValue =, Precision = 7]' van lid 'StartTime' in type 'CodeFirstDatabaseSchema.ShiftDetail'.

Ik heb ook geprobeerd met TypeName = "time (7)" maar ik krijg deze andere foutmelding:

(104,6): fout 0040: de Type-tijd (7) is niet gekwalificeerd met een naamruimte of alias. Alleen primitieve typen kunnen zonder kwalificatie worden gebruikt.

Hoe kan ik eerst een tijdkolom met code maken? (bij voorkeur zonder vloeiende API)

Bij voorbaat bedankt.


20
2017-08-29 20:32


oorsprong


antwoorden:


Als je wilt gebruiken Time type in database die je moet gebruiken TimeSpan met 24-uurs cyclus in uw applicatie. DateTime is geen weergave van tijd.


28
2017-08-29 20:42