【问题标题】:Is RecreateDatabaseIfModelChanges available in WPF?WPF 中是否提供 RecreateDatabaseIfModelChanges?
【发布时间】: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


【解决方案1】:

初始化程序称为DropCreateDatabaseIfModelChanges。它可以在 System.Data.Entity 命名空间的 EntityFramework.dll (EF 4.1) 中找到。

【讨论】:

  • 感谢拉迪斯拉夫!我猜他们从 CTP 转到 RC 时重命名了策略。
猜你喜欢
  • 1970-01-01
  • 2011-06-25
  • 2019-07-17
  • 1970-01-01
  • 2014-12-04
  • 1970-01-01
  • 2016-07-27
  • 1970-01-01
  • 2019-10-21
相关资源
最近更新 更多