我的問題很簡單,我正在使用實體框架與asp.net MVC。Entity Framework如何知道添加遷移需要哪個類?
我不確定這個問題是否有幫助,但我有疑問。
實體框架應該如何知道,他必須爲哪個類添加遷移,爲什麼EF不會爲ViewModel類生成遷移?
我只是想知道EF將如何區分ViewModel.cs類和Model.cs類,並只爲模型添加遷移。
在此先感謝。
我的問題很簡單,我正在使用實體框架與asp.net MVC。Entity Framework如何知道添加遷移需要哪個類?
我不確定這個問題是否有幫助,但我有疑問。
實體框架應該如何知道,他必須爲哪個類添加遷移,爲什麼EF不會爲ViewModel類生成遷移?
我只是想知道EF將如何區分ViewModel.cs類和Model.cs類,並只爲模型添加遷移。
在此先感謝。
我認爲它檢查哪些類已被添加到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
有一些地方,你可以添加配置到實體框架,但在它的基本形式,它遍歷您DbContext
類的屬性(與公共get
),並且認爲IDbSet
類型的所有屬性都是數據模型的一部分。
該屬性不一定要有set
。例如,這是一個有效的實體定義,在DbContext
EF將提取並生成遷移:
public IDbSet<MyEntity> MyEntities
{
get { return Set<MyEntity>(); }
}