我在asp.net mvc3中使用实体框架,当我尝试向表中添加新记录时,我收到此错误。这是我的代码
namespace CvGenerator.Models
{
public class LogInEntities:DbContext
{
public DbSet LogIn { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
modelBuilder.Entity<LogIn>().ToTable("LogInData");
base.OnModelCreating(modelBuilder);
}
}
}
模型控制器:
public class LogIn
{
public int LogInId { get; set; }
public string NameAndSurname { get; set; }
public string Email { get; set; }
public virtual ICollection<LogIn> LogInCol { get; set; }
}
我使用ajax调用记录数据的方法:
public void LogIn(string email,string nameAndSurname)
{
LogInEntities logIndb = new LogInEntities();
LogIn logIn = new LogIn();
if(ModelState.IsValid)
{
logIn.Email = email;
logIn.NameAndSurname = nameAndSurname;
***logIndb.LogIn.Add(logIn);***
logIndb.SaveChanges();
}
}
在标记的行上我得到了exeption
答案 0 :(得分:2)
尝试DbSet&lt;登录&gt;登录
答案 1 :(得分:0)
看看我对LogIn
的{{1}}属性和构造函数进行了一些更改。
希望你现在不会在提到的行上获得异常。
LogInEntities
模型控制器:
namespace CvGenerator.Models
{
public class LogInEntities:DbContext
{
List<DbSet> lgn;
public LogInEntities()
{
lgn = new List<DbSet>();
}
public List<DbSet> LogIn { get{return lgn;} set{lgn=value;} }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<IncludeMetadataConvention>();
modelBuilder.Entity<LogIn>().ToTable("LogInData");
base.OnModelCreating(modelBuilder);
}
}
}
我使用ajax调用记录数据的方法:
public class LogIn
{
public int LogInId { get; set; }
public string NameAndSurname { get; set; }
public string Email { get; set; }
public virtual ICollection<LogIn> LogInCol { get; set; }
}
在标记的行上我得到了exeption