【发布时间】:2014-10-09 06:45:06
【问题描述】:
我要生气了。我有一个如此简单的代码,但它不起作用。
我已经测试了所有东西,但我无法理解原因。
代码是这样的:
FataDBEntities model = new FataDBEntities();
UserAccount nua = new UserAccount();
nua.username = username;
nua.pass = password;
nua.email = mailaddress;
nua.activated = false;
model.UserAccounts.Add(nua);
try
{
model.SaveChanges();
}
catch (Exception)
{
throw;
}
string activationCode;
try
{
activationCode = genActivationCodeAndMail(mailaddress, username);
}
catch (Exception)
{
throw;
}
ActivationCode ac = new ActivationCode();
ac.code = activationCode;
ac.expiration_date = DateTime.Now.AddDays(1);
nua = model.UserAccounts.Single(p => p.username == username);
ac.wichUser = nua.ID;
model.ActivationCodes.Add(ac);
try
{
model.SaveChanges();
}
catch (Exception)
{
throw;
}
模型是这样的:
错误在于第二次插入...第一个工作正常。
附加信息:无法更新 EntitySet 'ActivationCode',因为它有一个 DefiningQuery 并且元素中不存在支持当前操作的元素。
请帮忙...
【问题讨论】:
-
具体错误是什么?
-
外键关系是什么? ActivationCode.whichUser ==> UserAccount.ID?
-
另外,我假设您在 UserAccount 表上有一个自动生成的 ID? id的数据类型是什么?
-
身份ID都是整数
-
查看这里:stackoverflow.com/questions/7583770/…这是否适用于您?
标签: c# entity-framework insert foreign-keys