que tienen un modelo con clave compuesta - la fila es la clave:Entity Framework: campo de clave compuesta no puede ser anulable?
public class Item
{
[Key, Column(Order = 0)]
public int UserId { get; set; }
[Key, Column(Order = 1)]
public DateTime? Date { get; set; }
}
Ejecutar el código de abajo se produce una excepción DbEntityValidationException
con el mensaje: The Date field is required.
:
var it = new Item { Date = null, UserId = 2 };
m_Entities.Items.Add(it);
m_Entities.SaveChanges(); // throws exception
(m_Entities
es habitual DbContext
descendiente con elementos definidos como DbSet<Item>
) ¿Por qué es necesario el Date
si puede ser null
(declarado como DateTime?
)? ¿Y cómo permitir que null
sea un valor válido para Date
?
Bueno, la clave principal es {UserId Fecha} donde se asegura que solo la fecha es nulable, entonces ¿por qué no es posible? No está de acuerdo con su declaración. Sin embargo, el código es una especie de puerto de PHP/MySQL donde fue posible ... – Zoka