这是我自己创建的第一个表,我试图插入数据。
问题:在我的控制器中,我不确定如何将模型与实际数据库表链接以执行INSERT
。
同样在第uc.userId = userId;
行中我收到以下错误:
无效的初始化成员声明
我为这个表创建了一个模型:
public class RegisterModel
{
public bool isCertified { get; set; }
public int certType { get; set; }
public string identifier { get; set; }
}
查看:
<tr>
<td style="font-size:10px;">Habilitar Login com Cert. Digital:</td>
<td>@Html.CheckBoxFor(m => m.isCertified)</td>
</tr>
<div id="certDigitalBlock">
<tr>
<td class="smallField">Tipo do Certificado:</td>
<td>@Html.DropDownListFor(m => m.certType, new SelectList(ViewBag.certType, "id","type"))</td>
</tr>
<tr>
<td>Identificação:</td>
<td>@Html.TextBoxFor(m => m.identifier, new { @class = "validate[required]" }) @Html.ValidationMessage("awnserVal", "*")</td>
</tr>
</table>
控制器
using (tgpwebgedEntities context = new tgpwebgedEntities())
{
var userID = from u in context.aspnet_Users where u.UserName == model.UserName select u.UserId;
if (checkIsCertified == true)
{
UsersCertified uc = new UsersCertified {
uc.userId = userId;
uc.certTypeId = model.certType;
uc.keyNumber = model.identifier;
}
context.SaveChanges()
}
}
由于
答案 0 :(得分:1)
UsersCertified uc = new UsersCertified {
uc.userId = userId;
uc.certTypeId = model.certType;
uc.keyNumber = model.identifier;
}
不应写在括号下?如果你使用的是构造函数。
UsersCertified uc = new UsersCertified (
uc.userId = userId;
uc.certTypeId = model.certType;
uc.keyNumber = model.identifier;
)
添加此代码:
context.UsersCertified .InsertOnSubmit(uc);
context.SubmitChanges();
答案 1 :(得分:1)
我认为你错过了
context.Set<UsersCertified>().Add(uc);
前
context.SaveChanges();
顺便说一下,您可能想要阅读关于Repository模式的答案。它可以帮助您了解如何使用数据库并按级别拆分应用程序。