- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在 Entity Framework V4.1 中使用代码优先模式。我遇到的一件看起来很奇怪的事情是,每当您对模型进行任何更改时,数据库都会被删除并创建新的。这非常不整洁,因为每次删除并重新创建数据库都不是理想的解决方案。我所有的测试数据和一切都丢失了。我知道有一个名为 Seed 的方法,您可以将测试数据记录插入到那里。然而,可能只有几百条测试记录,并且将每条记录都放在种子方法中是不可行的。还有其他选择吗?我根本不会使用代码优先,但在项目中必须使用它。
最佳答案
不,目前没有其他方法,而且 EF 本身可能永远不会支持除删除/重新创建之外的任何内容。 ADO.NET 团队选择的方式是使用名为 Migrations 的单独工具进行数据库升级。 .迁移目前仅作为 CTP 可用 = 它们不适合实际使用,而是用于测试和收集反馈给 EF 团队。
作为一种解决方法,您可以使用外部数据填充脚本并从种子调用它 - 这样维护起来会容易得多。
关于c# - Database.SetInitializer 中的 DropCreateDatabaseIfModelChanges,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7304688/
我在 edm 设计器(VS10)中使用“DbContext Entity Generator”作为生成项创建了一个模型。 在生成的 DbContext 子类中,它覆盖了构造函数,因此我不能在其他部分类
我想在一个程序集中隔离我所有的 EF 4.1 实现。 Database.SetInitializer 调用通常放置在 Web 应用程序的 Application_Start 方法中。从我的 DbCon
许多人可能知道为什么我们需要使用下面显示的代码。但是,我想将此逻辑分成多个层,并且不想在我的 Web 层中引用 Entity Framework DLL,因此我最终将此代码放在了我的 DbContex
我在 Entity Framework V4.1 中使用代码优先模式。我遇到的一件看起来很奇怪的事情是,每当您对模型进行任何更改时,数据库都会被删除并创建新的。这非常不整洁,因为每次删除并重新创建数据
canonical answer关于放置 Database.SetInitializer 调用的位置在 Global.asax 中用于 Web 项目。我正在寻找另一种选择。 我们使用 Entity F
我正在开发一个项目,该项目最终可能会有多个 UI 版本/变体,但到目前为止,我的解决方案 Web 中有两个子项目 - 包含带有 ASP.NET MVC 的 Web 界面。服务项目是我定义数据库上下文和
我正在尝试使用 CTP4 预览将 Entity Framework (代码优先)添加到一直使用测试数据运行的 MVC 应用程序。 我目前遇到这个错误: 支持“SchedulerContext”上下文的
现在,在开发中,我在Global.asax.cs文件中具有以下代码,该代码使用我的SeedSampleData方法调用Entity Framework(v4.1)SetInitializer。所有这一
我正在使用 Entity Framework 并在我的上下文中继承自 DbContext。 public class MyContext : DbContext, IMyContext { s
给定连接字符串,我正在尝试编写一种方法来创建数据库并在其上运行迁移。 我需要多个连接,因为我在单独的数据库中记录了审计日志。 我使用类似的代码从 app.config 中获取连接字符串 Configu
使用 EF5.0 运行 MVC4 项目 在开发我的模型时,EF 会在每次模型更改时创建一个新数据库,并使用示例数据进行播种。模型设计现已完成,数据库中填充了实时数据,因此我对负责创建数据库的行进行了注
我创建了两个 DbContext,一个用于应用程序配置,第二个用于日志记录。 原因是,我想在日志记录数据库上设置最大大小,这样它就不会用完所有可用磁盘空间并阻止其他数据库工作。 在我的 global.
我正在使用MySql.Data.EntityFrameworkCore连接mysql的提供者。现在我想在使用 DropCreateDatabaseAlways 初始化数据库时播种数据,但是当我尝试这样
我正在使用 Entity Framework 4.1 中引入的 DbContext 和 Code First API。 数据模型使用基本数据类型,例如string 和DateTime。在某些情况下,我
我几个小时以来一直在寻找这个奇怪的错误,但没有找到任何东西。我有一个非常简单的实体: public class Company { public Guid Id { get; set; }
我已经注释掉了对 Database.SetInitializer<>() 的所有调用在我的 EF Code First 应用程序中。但是,即使没有任何显式调用来创建数据库,我的 Asp.net MVC
我的问题在于缺乏MVC经验。基本上,我在数据库中有两个表-人-报价 我为每个人创建了一个模型、一个 Controller 和一个模型,因此结构如下所示: public class Offer {
我的代码优先数据库运行良好。如果我对数据库上下文进行了更改,则数据库将在下次启动应用程序时更新。但后来我向数据库添加了一些模型,并在重新启动应用程序时收到此错误: Introducing FOREIG
尝试首先使用 EF 4.1 代码进行一些单元测试。我有我的实时数据库(SQL Server)和我的单元测试数据库(Sql CE)。在与 EF、Sql CE 4.0 和事务支持战斗(并失败)后,我决定运
我有一个从抽象基类继承的上下文类 AuditableDbContext : DbContext . AuditableDbContext需要两个参数,一个用于审计员,另一个用于要审计的上下文。 在继承
我是一名优秀的程序员,十分优秀!