【发布时间】:2016-02-18 02:15:44
【问题描述】:
我目前正在使用 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);
}
【问题讨论】:
-
你在哪里创建对象
db? -
SampleEntities1 db = new SampleEntities1();控制器下方
-
能分享一下db连接字符串和dbcontext类吗?
-
命名空间 SingleVIewCrud.Models { using System;使用 System.Data.Entity;使用 System.Data.Entity.Infrastructure;公共部分类 SampleEntities1 : DbContext { public SampleEntities1() : base("name=SampleEntities1") { } protected override void OnModelCreating(DbModelBuilder modelBuilder) { throw new UnintentionalCodeFirstException(); } 公共虚拟 DbSet
tblClients { 获取;放; } 公共虚拟 DbSet tblClientss { 获取;放; } } } -
连接字符串
标签: c# entity-framework asp.net-mvc-4 entity-framework-6