2017-01-23 21 views
0

Я пытался создать представление из EF-кода. К сожалению, после моих исследований я не мог найти ни одной темы.C# EF code-first create SQL view query

Я могу получить свои запросы SQL-запросов, используя базу данных EF, во-первых, но не могу получить ее из кода.

Может кто-нибудь мне помочь?

Благодаря ...

enter image description here

ответ

1

Вы можете создавать представления внутри миграции с помощью метода Sql:

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(); 
     } 
    } 
} 
+0

EF говорит: Тип сущности не является частью модели для текущий контекст. – hakan

+0

@hakan Возможно, вы пытаетесь изменить состояние объекта, и вы не можете этого сделать. – Embri