Bonjour,

Comme le titre l'indique, j'ai un modèle où un champs est createDate est j'aimerai qu'il soit la date à laquelle a lieu l'insert.

voici ma classe:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class User:Person
    {
        [MaxLength(50, ErrorMessage = "Le login ne peux excéder 50 caractères")]
        [Required(ErrorMessage = "Le login est requis")]
        [Display(Name="Login")]
        public string login { get; set; }
        [Display(Name = "Mot de passe")]
        [MinLength(6, ErrorMessage = "Le mot de passe doit contenir au moins 6 caractère.")]
        public string password { get; set; }
        [Display(Name = "Admin")]
        public bool isAdmin { get; set; }
        [Display(Name = "Valide")]
        public bool isValide { get; set; }
 
        public int profilID;
 
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public DateTime createDate { get; set; }
 
    }
Voici mon initializer

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public class ErpInitializer: DropCreateDatabaseIfModelChanges<ErpContext>
    {
        protected override void Seed(ErpContext context)
        {
            //initialise les profils
            List<Profil> listeProfil = new List<Profil>();
            listeProfil.Add(new Profil { profilID = 1, profilDesc = "Admin" });
            listeProfil.Add(new Profil { profilID = 2, profilDesc = "Utilisateur" });
            //listeProfil.ForEach(s => context.Profils.Add(s));
            foreach (Profil p in listeProfil)
            {
                context.Profils.Add(p);
            }
            context.SaveChanges();
            //initialise les user
            List<User> listeUser = new List<User>();
            listeUser.Add(new User { login = "test2", password = "test2",isAdmin=true,isValide=true,lastName=*"test2"*,firstName=*"test2",zipcode=*"2222",city=*"Olne",gsm=*"03333",profilID=1,createDate=DateTime.Now });
            listeUser.Add(new User { login = "test", password = "test",isAdmin=false,isValide=true,lastName=*"test",firstName=*"test",zipcode=*"1111",city=*"Olne",gsm=*"045333" ,profilID=2,createDate=DateTime.Now});
            listeUser.ForEach(s => context.Users.Add(s));
            context.SaveChanges();
 
        }
Au moment du saveChanges des Users, j'ai l'exception DbUpdateException lancée.
Une valeur Null générée par le magasin a été retournée pour un membre 'createDate' de type 'erp.Models.User' qui n'accepte pas les valeurs Null.

Or en faisant un pas à pas, je vois bien que mes Users ont la date courante

Merci de votre aide