我有一个带有复合键的模型 - 行是关键:
public class Item
{
[Key, Column(Order = 0)]
public int UserId { get; set; }
[Key, Column(Order = 1)]
public DateTime? Date { get; set; }
}
运行下面的代码会引发异常DbEntityValidationException
消息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
通常是DbContext
定义为 Items 的后代)如果可以(声明为DbSet<Item>
)为什么是必需的?以及如何允许成为有效值?Date
null
DateTime?
null
Date