我正在使用带有EF6的asp.net Web表单的网站,我已经成功生成了模型,现在当我尝试将记录添加到数据库表中时,它不起作用。
我有一个表Users
,表Username
设置为主键,没有身份约束。现在,在调用Username
和db.Users.Add
之前,我已经从代码中设置了SaveChanges()
的值,但是它没有检测到Username
字段中的值,并抛出错误提示>
“用户名”字段不能为空。
如何在主键字段中插入值?
编辑
public class UsersDo : GenericDo
{
[NotMapped]
public string Password { get; set; }
public Guid Id { get; set; }
[Key]
public int Username { get; set; }
}
我要对用户名应用主键的原因是,我在另一个表中要使用用户名作为外键,但是如果我在Users表中有任何其他字段作为主键,则不允许将用户名保留为另一个表中的外键。我什至尝试了复合主键,即使那样也无济于事。