我想在数据库中添加一个VIEW,并使用L2E从该VIEW查询数据。我使用迁移来维护数据库架构。
我添加了一个应该映射到VIEW列的类。例如,此类只有两个属性
[Table("View_Data")]
public class ViewData
{
[Key]
public int Id { get; set; }
public int PropertyA { get; set; }
}
public class ViewDataMap : EntityTypeConfiguration<ViewData>
{
public ViewDataMap ()
{
this.ToTable("View_Data");
this.HasKey(t => t.Id);
}
}
我将ViewDataMap添加到OnModelCreating,与任何其他Table映射一样。我添加了DbSet ViewDatas。
我执行时
add-migration preview
它使用CreateTable命令创建了新的迁移。既然我不想创建一个表,只想创建一个视图,我在UP()CreateTable中用Sql替换(“CREATE VIEW ...”)
仍然,EF抱怨数据库中有待更改,仍然希望使用CreateTable()创建新的迁移...
如何阻止EF创建新表,而是使用VIEW?