Tengo un User
< Country
modelo. Un usuario pertenece a un país, pero no puede pertenecer a ninguno (clave foránea nula).
¿Cómo configuro esto? Cuando intento insertar un usuario con un país nulo, me dice que no puede ser nulo.
El modelo es el siguiente:
public class User{
public int CountryId { get; set; }
public Country Country { get; set; }
}
public class Country{
public List<User> Users {get; set;}
public int CountryId {get; set;}
}
Error: A foreign key value cannot be inserted because a corresponding primary key value does not exist. [ Foreign key constraint name = Country_Users ]"}
Respuestas:
Debe hacer que su clave externa sea anulable:
fuente
if
(eww)Guid
claves basadas. (Los hace anulables, claro, pero guardar un registro en la base de datos con la clave externa configurada en nulo falla debido a una restricción de clave externa generada automáticamente) :-(Prefiero esto (abajo):
Porque EF estaba creando 2 claves externas en la tabla de la base de datos: CountryId y CountryId1, pero el código anterior lo solucionó.
fuente
Tengo el mismo problema ahora, tengo una clave externa y necesito ponerla como anulable, para resolver este problema debes poner
en la clase DBContext, lamento responderte muy tarde :)
fuente
Recomiendo leer la guía de Microsoft para usar relaciones, propiedades de navegación y claves externas en EF Code First, como esta imagen.
Enlace de guía a continuación:
https://docs.microsoft.com/en-gb/ef/ef6/fundamentals/relationships?redirectedfrom=MSDN
fuente