Tengo dos entidades referenciadas de una a varias. Cuando el marco de la entidad creó la tabla, crea dos claves externas, una para la clave que he especificado con la interfaz fluida y la otra para ICollection. ¿Cómo me deshago de la clave externa duplicada?Entity Framework 4.1 Código First Foreign Key Id's
public class Person
{
public long RecordId { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Username { get; set; }
public long DepartmentId { get; set; }
public virtual Department Department { get; set; }
}
public class Department
{
public long RecordId { get; set; }
public string Name { get; set; }
public virtual ICollection<Person> People { get; set; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Person>()
.HasRequired(p => p.Department)
.WithMany()
.HasForeignKey(p => p.DepartmentId)
.WillCascadeOnDelete(false);
}
¡Gracias!
¿Podría funcionar esto ??? : [ForeignKey ("Department")] public long DepartmentId {get; conjunto; } – billy
@billy: No es 100% lo mismo porque las anotaciones no desactivan la eliminación en cascada. Si no desea deshabilitar la eliminación en cascada, entonces funciona, sí. Pero incluso no necesita las anotaciones porque las convenciones de nomenclatura detectarán la propiedad clave externa de forma automática. – Slauma
Súper, ¡Gracias! – billy