Entity framework 实体类型<;myType>;不是当前上下文的模型的一部分
使用EF6、.NET4.0 我有自己的自定义模型,并使用数据库优先的方法。我已经修改了edmx以使用与自定义模型相同的名称空间。运行代码时,我在线程主题中得到了错误。“User”类确实存在于我的模型和edmx中。我也有自己的自定义DbContext,如下所示:Entity framework 实体类型<;myType>;不是当前上下文的模型的一部分,entity-framework,Entity Framework,使用EF6、.NET4.0 我有自己的自定义模型,并使用数据库优先的方法。我已经修改了edmx以使用与自定义模型相同的名称空间。运行代码时,我在线程主题中得到了错误。“User”类确实存在于我的模型和edmx中。我也有自己的自定义DbContext,如下所示: public class MyEntities : DbContext { public MyEntities() : base("Name=MyEntities") { User = Se
public class MyEntities : DbContext
{
public MyEntities()
: base("Name=MyEntities")
{
User = Set<User>();
}
public virtual DbSet<User> User { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
throw new UnintentionalCodeFirstException();
}
}
公共类myenties:DbContext
{
公共慈善机构()
:base(“Name=MyEntities”)
{
User=Set();
}
公共虚拟数据库集用户{get;set;}
模型创建时受保护的覆盖无效(DbModelBuilder modelBuilder)
{
抛出新代码FirstException();
}
}
有什么想法吗?如果您修改了edmx,那么查看一下可能不会出错……我不确定您的意思,但我更改了edmx的名称空间以匹配我的自定义模型(例如MyApp.Models)。我还更改了模型设计器中的一些属性。但这不应该影响到这一点。我还尝试更改连接字符串(如其他地方所建议的)以删除EntityFramework元数据,但随后出现以下错误:“上下文正在代码优先模式下使用,代码是从EDMX文件生成的,用于数据库优先或模型优先开发。这将无法正常工作。要解决此问题,请不要删除引发此异常的代码行。如果您希望首先使用数据库或模型,那么请确保实体框架连接字符串包含在启动项目的app.config或web.config中“因此,我最终只是切换到先编写代码,现在一切正常。这并不是我最初问题的“答案”,但我现在可以做我想做的事情。