property primary name framework foreign first example data column code entity-framework asp.net-mvc-3 code-first nullable

primary - Propiedad anulable al campo de la entidad, Entity Framework a través de Code First



navigation property entity framework code first (3)

La otra opción es decirle a EF que permita que la columna sea nula:

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

Este código debe estar en el objeto que hereda de DbContext .

Usando la anotación de datos Required manera:

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

Estableceremos algún campo como Not Null en la base de datos, ¿cómo puedo configurar somefield para permitir valores NULL ?, intenté configurarlo a través de SQL Server Management Studio, pero Entity Framework lo estableció de nuevo en Not Null .


La respuesta de Jon no funcionó porque obtuve un error de compilación CS0453 C # El tipo debe ser un tipo de valor que no admite nulos para usarlo como parámetro ''T'' en el tipo genérico o método

Esto funcionó para mí, sin embargo:

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


Simplemente omita el atributo [Obligatorio] de la string somefield propiedad de string somefield . Esto lo hará crear una columna NULL capaz en el db.

Para hacer que los tipos int permitan valores NULL en la base de datos, se deben declarar como entradas anulables en el modelo:

// 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<int> public int? somenullableintfield { get; set; } public System.Nullable<int> someothernullableintfield { get; set; }