//假如现阶段数据库中有表Donator,此表与下面的实体相对应
public class Donator
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Amount { get; set; }
public DateTime DonateDate { get; set; }
}
//数据上下文实体
public class DonatorsContext : DbContext
{
public DonatorsContext()
: base("name=EFCodeFirst")
{
}
public virtual DbSet<Donator> Donators { get; set; }
}
//Main方法如下
class Program
{
static void Main(string[] args)
{
Database.SetInitializer(new DropCreateDatabaseIfModelChanges<DonatorsContext>());
Console.WriteLine("Operation completed!");
Console.Read();
}
}
现在我修改Donator实体,添加一个新的字段
public class Donator
{
public int Id { get; set; }
public string Name { get; set; }
public decimal Amount { get; set; }
public DateTime DonateDate { get; set; }
public string NewField{get;set;}
}
然后直接运行程序,发现数据库结构并没有变化,只有当我new一个DonatorsContext对象,并去查询Donators时,才看到数据库结构有变化。所以想请教为什么一个要查询后才会数据库表有变动,我不是已经设定DropCreateDatabaseIfModelChanges了么,请高手指教。
合并 操作起来还是挺复杂的.百度搜一下吧.最好是能谷歌搜.
EF Migrations
这个我知道,但是我现在想用DropCreateDatabaseIfModelChanges来更新数据库,应该也是可行的,只是不知道哪里出现了误差
http://www.cnblogs.com/libingql/p/3330880.html
你可以这个网站去看看!希望能帮到你
谢谢