Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 当子类实体时,EntityFramework需要迁移_C#_Entity Framework_Asp.net Mvc 4 - Fatal编程技术网

C# 当子类实体时,EntityFramework需要迁移

C# 当子类实体时,EntityFramework需要迁移,c#,entity-framework,asp.net-mvc-4,C#,Entity Framework,Asp.net Mvc 4,我有一个实体: namespace Project.Models.DbModels { public class MyEntity { public long Id { get; set; } public long Number { get; set; } public SomeOtherEntity otherEntity{ get; set; } } } 我将其子类化,以添加其他实体(作为视图模型)的列表,并将其作为

我有一个实体:

namespace Project.Models.DbModels
{
    public class MyEntity
    {
        public long Id { get; set; }
        public long Number { get; set; }
        public SomeOtherEntity otherEntity{ get; set; }
    }
}
我将其子类化,以添加其他实体(作为视图模型)的列表,并将其作为下拉列表在视图中使用

    namespace Project.Models.ViewModels
    {
        public class MyNewEntity : MyEntity
        {
            public List<SomeOtherEntity> otherEntities { get; set; }
        }
    }
namespace Project.Models.ViewModels
{
公共类MyNewEntity:MyEntity
{
公共列表其他实体{get;set;}
}
}
数据库上下文是:

namespace DskVault.Models.DbModels
{
    public class MyDbContext : DbContext
    {
        public MyDbContext()
            : base("DefaultConnection")
        { 
        }

        public DbSet<MyEntity> MyEntities { get; set; }

    }
}
名称空间DskVault.Models.DbModels
{
公共类MyDbContext:DbContext
{
公共MyDbContext()
:base(“默认连接”)
{ 
}
公共DbSet myenties{get;set;}
}
}
请注意,MyNewEntity不在上下文中

问题是,当我执行添加迁移时,框架将添加列绑定到引用MyEntity中的视图模型(MyNewEntity)和鉴别器列的其他实体。
我怎样才能克服这个问题。我不希望驱动类(MyNewEntity)由EF管理,数据库也会相应更新。

对实体进行子分类将创建一个新的实体类,该实体类将由EF管理。所以不要使用子类来创建视图模型,而是使用map


子分类通常是一种不合适的技术,因为您通常希望视图模型包含的字段比实体少。

从Colins point automapper开始可以节省大量工作-