我正在使用EF执行CRUD当前选择记录并将其传递给视图模型。
表名和类名也相同,那么也无法理解为什么即使在调试后也会出现此错误,它会给出相同的错误。
查看模型
namespace SingleVIewCrud.Models
{
public class tblClients
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
}
public class VMtblClient
{
public int Id { get; set; }
[Required]
public string Name { get; set; }
public List<tblClients> tblClients { get; set; }
}
}
分贝套装
public virtual DbSet<tblClients> Clients { get; set; }
行动
public ActionResult Home(int? id)
{
VMtblClient model = new VMtblClient();
model.tblClients = db.Clients.ToList();
return View(model);
}
修订后的代码 DbContext 类,
public partial class SampleEntities1 : DbContext
{
public SampleEntities1()
: base("name=SampleEntities1")
{
}
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
public virtual DbSet<tblClient> tblClients { get; set; }
public virtual DbSet<tblClients> tblClient { get; set; }
}
行动
public ActionResult Home(int? id)
{
VMtblClients model = new VMtblClients();
var test = db.tblClient.ToList();
return View(model);
}
在 SampleEntities1 DbContext 类中,没有"客户端"的定义。所以"数据库。Clients.ToList();" 应该不起作用。你从哪里提到"db",它必须是数据库上下文类,
试试这个代码,
VMtblClient model = new VMtblClient();
using(var context = new SingleVIewCrud.Models.SampleEntities1())
{
model.tblClients = context.tblClient.ToList();
}
return View(model);