问题标签 [entity-framework-4.3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-3 - Entity Framework 4.3 数据迁移:不存在的数据库
我想处理这种情况:
- 我有一个现有的模型(例如 1.0 版);
- 我添加了几个数据迁移并依次运行它们;
- 由于某些原因,现有数据库已被删除。
我从头开始创建数据库,使用CreateDatabaseIfNotExists<MyContext>
它将生成带有空__MigrationHistory
表的最新方案。
在下次执行网站时,将发生数据迁移错误。
我发现如何处理这个问题的一种方法是__MigrationHistory
用所有看起来不太乐观的数据迁移元数据手动填充表。
有没有其他方法来处理这种情况(例如方案比较)?
c# - Entity Framework 4.3 现有数据库的迁移错误
我有一个使用 EF 4.1 创建的现有数据库。然后我安装了 EF 4.3 并启用了迁移。现在我更改了一个实体的名称。Up() 方法中的第一行代码是 DropForeignKey()。如果我使用 Update-Database 运行迁移,则会引发异常“无法删除约束”。
问题是,在 ef 4.3 中,外键命名约定发生了变化。在 4.3 中,它们看起来像 4.1 中的“FK_Table_Table_Column_ID”,就像“Table_Table”。
我该如何改变呢?
sql-server-2000 - EF 4.3.1 迁移 - 从字符串转换日期和/或时间时转换失败
当我尝试通过 EF 迁移对数据库进行版本控制时,出现错误“从字符串转换日期和/或时间时转换失败”。问题是我的 MS Sql Server 版本(具有高级服务的 Microsoft SQL Server Express Edition(64-少量))。这是一个错误吗?有解决办法吗?
编辑
没关系。这与 EntityFramework 无关。如果我的 SQL Server 数据库配置为向后兼容 SQL Server 2000,它将不接受该日期格式。我想除非我可以让 EF 以另一种格式输出它的日期字符串(或者让 SQL Server 向后兼容到 2000 并且仍然理解 EF 日期字符串),否则我将无法在我的数据库中使用 EF 迁移: -(。请让我知道是否有人想出了一种将 EF 与兼容级别 SQL Server 2000 的数据库一起使用的方法。
.net - DbSet - 访问上下文
首先从EF代码中的DbSet,有没有办法引用父DbContext?在 ObjectSet 上,有一个 ObjectContext 属性。DbSet 是否存在类似的东西,或者其他获取上下文的方法?
.net - EF 4.3.1 迁移异常 - AlterColumn defaultValueSql 为不同的表创建相同的默认约束名称
我有一个使用 OOB 数据库初始化程序创建的数据库,并且我将 Code First 与 EF 4.3.1 一起使用。
我想利用 Add-Migration cmdlet 上新的“IgnoreChanges”标志,这样我就可以更改我的一些列并添加默认 SQL 值。本质上,我的一些实体有一个名为 DateLastUpdated 的列,我想将 DEFAULT 设置为 sql 表达式 GETDATE()。
我使用“add-migration InitialMigration -ignorechanges”创建了 InitialMigration,然后将以下内容添加到 Up() 和 Down():
然后我尝试运行“Update-Database -verbose”,但我看到它正在尝试在数据库上创建相同命名的默认约束,并且 SQL 抛出异常:
看起来 EF 正在创建 DEFAULT 约束,方法是在列名后附加“DF_”,但不使用表名,以使其对表唯一。这是一个已知的错误,还是我在这里做错了什么?
visual-studio-2010 - 程序集绑定旧引用异常
在过去的 12 个小时里,我一直在尝试解决程序集绑定问题,但运气不佳。上周,我已将解决方案中的所有项目从 EF 4.1.0.0 升级到 EF 4.3.1.0。今天早上我在一个现有的测试项目中添加了一些测试,清理并重新编译了解决方案。所有项目都编译时没有警告或错误。在项目中任何地方的实体框架调用中,我收到以下异常:
初始化方法 NutricityPPCTests.Common.DizzleProductExtensionsTests.TestSetup 抛出异常。System.IO.FileLoadException:System.IO.FileLoadException:无法加载文件或程序集“EntityFramework,Version=4.1.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。(来自 HRESULT 的异常:0x80131040)。
我启动了融合程序集绑定日志查看器,并找到了与异常对应的日志条目。我已经验证我的测试项目 MOMData 项目都引用了正确的 EF4.3.1.0 程序集。我确认项目文件中没有对 EF 4.1.0.0 的引用。我删除了两个项目中的 obj 和 bin 目录的内容。这个项目已经清理和重建了很多次,我的硬盘可能明天就要报废了。
我还应该在哪里寻找旧的引用程序集?!?欢迎任何帮助,并非常感谢!在此先感谢您的时间!
c# - dbmigrator 未检测到迁移
我有以下内容:
迁移器未检测到迁移..
有什么建议么?
entity-framework-4 - EF Code First 4.3 自引用零到多
我正在尝试为工作流程步骤定义自引用关系,在该步骤在其所有相关步骤完成之前无法启动。一个步骤可以有零个或多个依赖项。我有以下内容,但是 EF 没有正确映射它。相反,它创建了下表,它不符合我的需要。我怎样才能做到这一点?
班级:
表定义:
编辑: 理想情况下,我想我想要一些产生连接表的东西,例如:
c# - EF 4.3 多对多关系和连接表更新
在存储库类中
我在下面出现错误,例如
操作失败:无法更改关系,因为一个或多个外键属性不可为空。当对关系进行更改时,相关的外键属性将设置为空值。如果外键不支持空值,则必须定义新关系,必须为外键属性分配另一个非空值,或者必须删除不相关的对象。