我试图先从EF代码创建一个视图。不幸的是,经过我的研究,我无法找到任何有关它的主题。
我可以首先使用EF数据库获取我的SQL视图查询,但无法从代码优先获取它。
有人能帮助我吗?
...谢谢
答案 0 :(得分:1)
您可以使用Sql方法在Migration中创建视图:
public partial class Migration : DbMigration
{
public override void Up()
{
this.Sql("CREATE VIEW dbo.MyView AS (etc)");
}
public override void Down()
{
this.Sql("DROP VIEW dbo.MyView");
}
}
在dbContext中将实体映射到视图没有任何问题:
public class MyDbContext : DbContext
{
public DbQuery<MyModelView> MyView
{
get
{
// Don't track changes to query results
return Set<MyModelView>().AsNoTracking();
}
}
}