I cannot find a way to perform a insert statement using EF.
Many error have emerged.
The code is all here and the problem is with the controller: I have alread tried:
context.sistema_UsersCertified.Add(uc);
context.Set<sistema_UsersCertified>().Add(uc);
It says that sistema_UsersCertified has some invalid argumments
why?
This is my dbcontext:
public partial class tgpwebgedEntities : DbContext
{
public tgpwebgedEntities()
: base("name=tgpwebgedEntities")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public DbSet<sistema_UsersCertified> sistema_UsersCertified { get; set; }
}
This table has 4 collumns: id(int), userID(Guid), certTypeID(int), keyNumber(string)
so I have created a Model based in that table:
public class UsersCertified
{
public Guid userId;
public int certTypeId;
public string keyNumber;
public UsersCertified(Guid uId, int ctId, string kn) {
userId = uId;
certTypeId = ctId;
keyNumber = kn;
}
}
and I have a viewthat send data to a controller:
<table>
<tr>
<td style="font-size:10px;">Habilitar Login com Cert. Digital:</td>
<td>@Html.CheckBoxFor(m => m.isCertified)</td>
</tr>
<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>
and the last.. my controller:
using (tgpwebgedEntities context = new tgpwebgedEntities()) {
{
var userID = from u in context.aspnet_Users where u.UserName == model.UserName select u.UserId;
Guid uID = userID.First();
UsersCertified uc = new UsersCertified(uID, model.certType, model.identifier);
//HERE I NEED SET MY TABLE WITH MY MODEL... BUT SO MANY ERROR
context.SaveChanges();
}
Oh I think it may be that you are creating a model of type UsersCertified and then trying to save it as a database entity of type sistema_UsersCertified.
Try