2015-05-05 3 views
1

Мой вопрос очень прост, я использую Entity Framework с asp.net MVC.Как Entity Framework знает, какой класс требуется для добавления миграции?

Я не уверен, что этот вопрос полезен или нет, но у меня есть сомнения.

Как структура сущности должна знать, что он должен добавить миграцию для какого класса, почему EF не будет генерировать миграцию для класса ViewModel?

Я просто хочу знать, как EF будет дифференцироваться между классом ViewModel.cs и классом Model.cs и добавить миграцию только для модели.

Заранее спасибо.

ответ

5

Я думаю, что он проверяет, какие классы были добавлены в DbContext.

using System.Data.Entity; 
using System.Collections.Generic; 
using System.ComponentModel.DataAnnotations; 
using System.Data.Entity.Infrastructure; 

namespace MigrationsDemo 
{ 
    public class BlogContext : DbContext 
    { 
     public DbSet<Blog> Blogs { get; set; } 
    } 

    public class Blog 
    { 
     public int BlogId { get; set; } 
     public string Name { get; set; } 
    } 
} 

Блог будет рассмотрен с перемещением. Пожалуйста, смотрите эту ссылку для получения дополнительной информации о коде-первых миграций: https://msdn.microsoft.com/en-us/data/jj591621.aspx

0

Есть некоторые места, которые вы можете добавить конфигурацию Entity Framework, но в своей основной форме, он перебирает свойства на вашем DbContext класса (с публичным get) и рассматривает все свойства типа IDbSet как часть модели данных.

Недвижимости не обязательно иметь set. Например, это действительное определение сущности в DbContext, что EF будет получать и генерировать миграцию для:

public IDbSet<MyEntity> MyEntities 
{ 
    get { return Set<MyEntity>(); } 
} 
Смежные вопросы