tutorial primary framework foreign first example dataannotations data code annotation entity-framework code-first entity-framework-ctp5

primary - Al usar Entity Framework Code First CTP5, ¿cómo creo una columna de clave primaria que sean INTs y no sean columnas de identidad?



key data annotation c# (3)

Al usar Entity Framework Code First CTP5, ¿cómo creo una columna de clave primaria que sean INTs y no sean columnas de identidad?

Preferiblemente no usar atributos.


Esa respuesta no funcionó para mí (en EF 4.1).

Para que esto funcione, agregué el atributo DatabaseGenerated a mi columna clave:

public class FacebookUser { [Key] [DatabaseGenerated(DatabaseGeneratedOption.None)] public long FacebookId { get; set; } // ... }

Espero que esto ayude a alguien.


Pequeño cambio

public class User { [Required, Key, DatabaseGenerated(DatabaseGeneratedOption.None)] public int ID { get; set; } // Rest of the code }


Si está creando sus entidades utilizando la interfaz fluida en lugar de usar atributos sobre las propiedades, puede usar la clase DatabaseGenerationOption (de EntityFramework.dll, en el espacio de nombres System.ComponentModel.DataAnnotations). No lo he probado, pero así es como se vería:

modelBuilder .Entity<Foo>() .Property(f => f.Id) .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);