报错的可能原因可能是EF的映射关系出了问题,如果Class之间有关联,需要手动设置好表关系
如:一个User有多个Device,一个Device可能属于多个User
public partial class User
{
[Key]
public int ID { get; set; }
public string UserName { get; set; }
public virtual ICollection UserDeivces { get; set; }
}
public partial class Device
{
[Key]
public int id { get; set; }
public string deviceName { get; set; }
public virtual ICollection UserDeivces { get; set; }
}
public class UserDeivce
{
[Key]
public int ID { get; set; }
public int UserID { get; set; }
public int DeivceID { get; set; }
public virtual Model.User User { set; get; }
public virtual Model.Device Device { set; get; }
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity()
.HasRequired(a => a.Device)
.WithMany(a => a.UserDeivces)
.HasForeignKey(a => a.DeviceID);
modelBuilder.Entity()
.HasRequired(a => a.User)
.WithMany(a => a.UserDeivces)
.HasForeignKey(a => a.UserID);
}