【发布时间】:2015-02-09 08:06:19
【问题描述】:
当我尝试执行简单的添加操作时,Entity Framework 给出了一个非常神秘的错误消息。
_context.Users.Add(new User
{
DateJoined = DateTime.UtcNow
});
_context.SaveChanges();
FormatException: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
用户从 IdentityUser 继承自 Microsoft.AspNet.Identity
我检查了数据库和模型,但我似乎无法确定是什么属性导致了问题。模型包含:
- 整数、布尔值和字符串 - 获取默认值
- 我提供的一个不可为空的 DateTime 属性 (DateJoined)
- 一个可为空的 DateTime 属性
- 一个正确默认为 0 的枚举
- 虚拟 ICollections
我不明白是什么属性导致了这个问题,我怎样才能更具体地知道?会不会是别的东西?异常对话框不包含用于查看内部异常的熟悉链接。
【问题讨论】:
-
您是如何在 DbContext 类中初始化
Users的? -
好吧,我的
ApplicationDbContext继承了IdentityDbContext<User>,因此在基类public virtual IDbSet<TUser> Users { get; set; }上提供了用户。我没有初始化它。 -
你确定你的建议是在实体框架的上下文中,因为我不明白你的意思。
-
数据库中的用户主键是如何定义的?
标签: c# entity-framework entity-framework-6.1