首先是EF6代码和VIEW

时间:2018-02-16 08:56:53

标签: entity-framework entity-framework-6 ef-migrations

我想在数据库中添加一个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?

0 个答案:

没有答案