【发布时间】:2011-07-26 15:30:32
【问题描述】:
我首先尝试实体框架代码。我似乎无法在 WPF 4.0 中找到用于 RecreateDatabaseIfModelChanges 的程序集/命名空间。这是仅限 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();
}
}
}
}
【问题讨论】:
-
我找不到任何关于该类的 MSDN 文档。你确定它进入了 RTM?
-
我发现了这个:scottleckie.com/2011/03/…。它说,这个策略现在被称为
DropCreateDatabaseIfModelChanges,但我在 MSDN 上也没有找到任何关于它的东西......奇怪 -
@Daniel Hilgarth:文档在这里:msdn.microsoft.com/en-us/library/gg696142%28v=VS.103%29.aspx 还列出了
IDatabaseInitializer的三个可用实现,包括DropCreateDatabaseIfModelChanges。
标签: wpf entity-framework ef-code-first entity-framework-4.1