Propriété nullable dans le champ d’entité, Entity Framework via Code First

Utilisation de l’annotation de données Required comme ceci:

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

Définira somefield sur Not Null dans la firebase database. Comment puis-je définir somefield pour autoriser les valeurs NULL? J’ai essayé de le définir via SQL Server Management Studio mais Entity Framework l’a défini sur Not Null .

Il suffit d’omettre l’atsortingbut [Required] de la propriété ssortingng somefield de la ssortingng somefield . Cela lui permettra de créer une colonne NULL dans la firebase database.

Pour que les types int autorisent les valeurs NULL dans la firebase database, elles doivent être déclarées comme des valeurs nulles dans le modèle:

 // an int can never be null, so it will be created as NOT NULL in db public int someintfield { get; set; } // to have a nullable int, you need to declare it as an int? // or as a System.Nullable public int? somenullableintfield { get; set; } public System.Nullable someothernullableintfield { get; set; } 

L’autre option consiste à indiquer à EF d’autoriser la colonne à être nulle:

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().Property(m => m.somefield).IsOptional(); base.OnModelCreating(modelBuilder); } 

Ce code doit être dans l’object qui hérite de DbContext .

La réponse de Jon n’a pas fonctionné pour moi car j’ai reçu une erreur de compilation.

Cela a fonctionné pour moi si:

 protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity().HasOptional(m => m.somefield); base.OnModelCreating(modelBuilder); }