在WPF中是否可以重新创建DatabaseIfModelChanges?
我先试用实体框架代码。在WPF 4.0中,我似乎找不到用于在WPF中是否可以重新创建DatabaseIfModelChanges?,wpf,entity-framework,ef-code-first,entity-framework-4.1,Wpf,Entity Framework,Ef Code First,Entity Framework 4.1,我先试用实体框架代码。在WPF 4.0中,我似乎找不到用于重新创建DatabaseIfModelChanges的程序集/命名空间。这是仅ASP.NET的功能吗?如果不是,我应该引用什么程序集 这是我的代码: using System; using System.Data.Entity; using System.Windows; using CodeFirstTester.Models; namespace CodeFirstTester { public partial class
重新创建DatabaseIfModelChanges
的程序集/命名空间。这是仅ASP.NET的功能吗?如果不是,我应该引用什么程序集
这是我的代码:
using System;
using System.Data.Entity;
using System.Windows;
using CodeFirstTester.Models;
namespace CodeFirstTester
{
public partial class App : Application
{
static App()
{
// this fails:
Database.SetInitializer(new RecreateDatabaseIfModelChanges<NerdDinners>());
// The type or namespace name 'RecreateDatabaseIfModelChanges'
// could not be found (are you missing a using directive or
// an assembly reference?)
using (var nerdDinners = new NerdDinners())
{
var dinner = new Dinner()
{
Title = "Party at Scott's House",
EventDate = DateTime.Parse("12/31/2010"),
Address = "Building 40",
HostedBy = "scottgu@microsoft.com"
};
nerdDinners.Dinners.Add(dinner);
nerdDinners.SaveChanges();
}
}
}
}
使用系统;
使用System.Data.Entity;
使用System.Windows;
使用CodeFirstTester.Models;
命名空间CodeFirstTester
{
公共部分类应用程序:应用程序
{
静态应用程序()
{
//这失败了:
SetInitializer(新的重新创建DatabaseIfModelChanges());
//类型或命名空间名称“RecreateDatabaseIfModelChanges”
//找不到(您是否缺少using指令或
//组件参考?)
使用(var nerdDinners=new nerdDinners())
{
var晚餐=新晚餐()
{
Title=“斯科特家的派对”,
EventDate=DateTime.Parse(“2010年12月31日”),
地址=“40号楼”,
HostedBy=”scottgu@microsoft.com"
};
书呆子。晚餐。添加(晚餐);
nerdDinners.SaveChanges();
}
}
}
}
初始值设定项称为DropCreateDatabaseIfModelChanges
。它可以在System.Data.Entity
命名空间的EntityFramework.dll(EF 4.1)中找到。我找不到任何关于该类的MSDN文档。你确定吗,它进入了RTM?我发现了这个:。它说,这个策略现在被称为DropCreateDatabaseIfModelChanges
,但我在MSDN上也没有找到任何关于它的信息。。。strange@DanielHilgarth:这里有文档:还列出了IDatabaseInitializer
的三种可用实现,包括DropCreateDatabaseIfModelChanges
。谢谢Ladislav!我猜当他们从CTP改为RC时,他们重新命名了策略。