Zok*_*oka 17 c# entity-framework ef-code-first asp.net-mvc-3
我有一个带有复合键的模型 - 行是关键:
public class Item
{
[Key, Column(Order = 0)]
public int UserId { get; set; }
[Key, Column(Order = 1)]
public DateTime? Date { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
运行下面的代码会抛出一个异常DbEntityValidationException消息The Date field is required.::
var it = new Item { Date = null, UserId = 2 };
m_Entities.Items.Add(it);
m_Entities.SaveChanges(); // throws exception
Run Code Online (Sandbox Code Playgroud)
(m_Entities通常是子DbContext项,定义为项目DbSet<Item>)Date如果可以null(声明为DateTime?),为什么需要?以及如何允许null成为有效值Date?
Zok*_*oka 11
Raphael的回答引导我进行另一次搜索.这就是为什么它不可能(Cobsy回答):
简而言之:
NULL == NULL- >假
奇怪的.我的解决方案是将Id列添加到Model中.
BTW:MySQL允许我不定义主键,然后我被允许有这样的架构 - EF抱怨没有定义键:-(.
| 归档时间: |
|
| 查看次数: |
8095 次 |
| 最近记录: |