Tag: code first migrations

我在哪里可以find在包pipe理器窗口中执行的代码的控制台或debugging输出?

我首先使用EntityFramework代码进行迁移。 从包pipe理器控制台,我正在运行“更新数据库”。 这将执行我已覆盖的Configuration.Seed(上下文)。 protected override void Seed(WebContext context) { Console.WriteLine("Console Test"); Debug.WriteLine("Debug Test"); Trace.WriteLine("Trace Test"); } 我在哪里可以find输出? 更好的是,如何输出到包pipe理器窗口? Thx,Dan

将EF迁移整合到新的InitialCreate中

我一直在使用EF迁移一段时间,在我的项目中有超过100个迁移文件。 我希望将这些合并到一个单一的迁移前,即前进 – 即我想用一个新的版本replace现有的InitialCreate迁移,考虑到我所有的后续变化,所以我可以删除所有其他迁移文件。 如果我不关心丢失数据库中的所有数据,我很容易做到这一点,但我是。 我怎样才能做到这一点,同时保持所有的数据不变,还保留了从头开始重新创build数据库(无数据)的能力,只需运行Update-Database(我认为使用Julie Lerman概述的方法是不可能的 )?

entity framework迁移停止检测POCO更新

我正在使用entity framework和entity framework迁移来实现使用代码优先和自动迁移的解决scheme。 它曾经工作很好,但突然停止检测我对POCO的更新。 现在,当我添加一个新的属性(非常简单的属性,如年龄或电子邮件),并执行Update-Database ,没有任何反应,它给了我这个: 指定'-Verbose'标志来查看迁移过程中正在执行的SQL命令。 find0等待显式迁移:[]。 添加种子数据(如果在迁移设置类中重写了Seed方法)。 没有更新! 有没有人知道为什么会发生这种情况?

entity framework代码首先将Guid用作另一个标识列的标识

又如何在Code First中创build多个标识列? 由于集群性能,常见的build议是使用自动增量整数列而不是使用newid()创build的GUID。 为了将列声明为自动增量,必须使用Annotation [DatabaseGenerated(DatabaseGeneratedOption.Identity)]指定它。 但是,你只能在一个表中有一个身份。 因此,从一个基本模型开始,如: public abstract class ModelBase { // the primary key public virtual Guid Id { get; set; } // a unique autoincrementing key public virtual int ClusterId { get; set; } } 我们如何设置它以便: Guid是由数据库自动生成的,而不是代码 ClusterId是自动增量的 entity framework代码首先不会抛出各种类似的错误: 不支持将主键列的属性“StoreGeneratedPattern”设置为“计算”的表的修改。 改用“身份”模式。 仅供参考 ,如果您确实想在代码中自动生成它,则可以跳过Id字段的注释,并执行如下操作: public abstract class AbstractContext : DbContext { /// […]

EF CodeFirst:参数@objname不明确或声明的@objtype(COLUMN)错误

我有一个名为EducationTypes的表和一个名为EducationTypes的实体,我重命名了一个实体属性,现在我经常得到Either the parameter @objname is ambiguous or the claimed @objtype (COLUMN) is wrong 。 我该如何解决这个问题? 生成的SQL脚本: EXECUTE sp_rename @objname = N'dbo.EducationTypes.nvarchar', @newname = N'EducationTypeTitle', @objtype = N'COLUMN'

EF 5启用迁移:在程序集中找不到上下文types

我有4个项目: Toombu.Entities : all models are there Toombu.DataAccess: Mapping, Repository and ToombuContext Toombu.Logique : Logic of my application Toombu.Web : MVC 4 application. With all others DLL. 我试图启用Toombu.Web中的迁移,但我有这个错误: No context type was found in the assembly 我如何启用迁移?

EF5迁移更新数据库的脚本错误

我一直在使用Visual Studio 2012 RC与试用许可证没有问题。 我昨天购买了Visual Studio 2012 Professional,安装了最新版本,并安装了Update 1。 我有一个多年来一直在努力的解决scheme/项目。 它有很多的迁移。 我在这个最新版本中运行了我的第一个add-migration TableX_NewField和update-database -sourcemigration:TableX_PreviousNewField 。 他们都跑没有问题。 然后,我运行update-database -script -sourcemigration:TableX_PreviousNewField并收到以下内容: PM> update-database -script -sourcemigration:TableX_PreviousNewField Applying code-based migrations: [201301151003149_TableX_NewField]. Applying code-based migration: 201301151003149_TableX_NewField. System.Runtime.InteropServices.COMException (0x8004000C): User canceled out of save dialog (Exception from HRESULT: 0x8004000C (OLE_E_PROMPTSAVECANCELLED)) at EnvDTE.ItemOperations.OpenFile(String FileName, String ViewKind) at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) at System.Data.Entity.Migrations.Utilities.DomainDispatcher.OpenFile(String fileName) […]

无法为类库中的entity framework启用迁移

我刚接触EF 5,并使用他们的代码优先的迁移工具,但我似乎遇到错误,当我尝试启用迁移。 我在包pipe理器控制台中inputEnable-Migrations ,然后说 在当前项目中找不到从DbContext派生的类。 编辑生成的configuration类以指定启用迁移的上下文。 为项目MyApp.MvcUI启用了代码优先迁移。 然后在我的MvcUI项目中创build一个Migrations文件夹和一个Configuration类。 事情是,我的DbContext生活在一个名为MyApp.Domain的类库项目中。 它应该做这个项目中的所有内容,并且应该没有问题find我的DbContext。

ASP.NET SimpleMembershipProvider自动迁移

所以我试图使用自动迁移与我的新MVC 4项目,但不知何故,它不工作。 我跟着这个博客文章一步一步。 我已将更改添加到UserProfile帐户模型( NotaryCode字段)中: [Table("UserProfile")] public class UserProfile { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] public int UserId { get; set; } public string UserName { get; set; } public int NotaryCode { get; set; } } 然后,我在包pipe理器控制台enable-migrations上写了一个Configuration类出现(从DbMigrationsConfiguration<Web.Models.UsersContext>inheritance),然后填充类: public Configuration() { AutomaticMigrationsEnabled = true; } protected override void Seed(Atomic.Vesper.Cloud.Web.Models.UsersContext context) { WebSecurity.InitializeDatabaseConnection( "DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true); […]

在单独assembly中启用具有上下文的迁移?

我有一个项目,我想运行我的update-database ,但我有我的模型和上下文在一个单独的项目。 如果我运行enable-migrations我得到这个错误:在程序集“MyProject”中找不到上下文types。 这大概是因为我的上下文是在MyProject.MVC。 如果我对MyProject.MVC运行enable-migrations ,则必须添加一个应用程序configuration文件。 我不想这样做,因为我想在许多项目中使用代码。 所以我可以运行对MyProject的enable-migrations ,并以某种方式告诉它在MyProject.MVC的上下文?