问题标签 [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.
.net - 实体框架 4.3 在应用程序启动时运行迁移
在从 EF 4.3 开始的应用程序中执行所有必需的数据库迁移的最佳方法是什么?
.net - 实体框架 4.3:配置文件分离时的“更新数据库”
移至 ef 4.3
在web.config
有以下设置:
在包管理器控制台中执行
并得到以下错误:
该错误是可以理解的:它尝试从工作目录打开connectionStrings.config
文件,该工作目录不是connectionStrings.config
文件所在的根项目目录。
如果要移动到 web.config 的 connectionStrings.config 和 appSettings.config 内容都像魅力一样工作。
它是一个错误,它可以以某种方式解决吗?
c# - EF 4.3 代码优先一对一关系
谁能告诉我下面这段代码有什么问题,因为我在获得一对一关系时遇到问题,首先使用 EF 4.3 代码。
一直在尝试各种事情,添加外键属性,(取消)注释一些 id,以下示例。结果总是:数据库中的 ID 不正确,或者它没有创建数据库。
提前致谢。
entity-framework-migrations - 种子数据时设置工作目录
我正在尝试使用 EF 4.3 迁移插入一些示例数据(种子数据)。
问题是我想从 xml 文件中读取数据。但是当我运行Update-Database
cmdlet 时,我得到了类似 Could not find a part of the path 'C:\SampleData\'
.
当我Update-Database
从我的 powershell 控制台运行时,是否有将工作目录设置为当前项目文件夹。
提前致谢。
entity-framework - 在 Entity Framework 4.3 中增量播种数据的最佳方法
我一直在现有数据库上使用 Entity Framework 4.3,并且我有几个我试图迎合的场景。
首先,如果我删除我的数据库,我希望 EF 从头开始重新创建 - 我已成功为此使用了 CreateDatabaseIfNotExists 数据库初始化程序。
其次,如果我更新我的模型并且数据库已经存在,我希望数据库能够自动更新——我已经成功地为此使用了 Entity Framework 4.3 Migrations。
所以这是我的问题。假设我向我的模型添加了一个新表,它需要一些参考数据,这是确保在数据库初始化程序运行和迁移运行时创建这些数据的最佳方法。我的愿望是,当我从头开始创建数据库以及由于迁移运行而更新数据库时,数据会被创建。
在一些 EF 迁移示例中,我看到人们在迁移的 UP 方法中使用 SQL() 函数来创建种子数据,但如果可能的话,我宁愿使用上下文来创建种子数据(如您在大多数数据库初始化程序示例中所见)因为当 EF 的整个想法将其抽象出来时,您会使用纯 sql,这对我来说似乎很奇怪。我尝试在 UP 方法中使用上下文,但由于某种原因,当我尝试将种子数据直接添加到创建表的调用下方时,它认为不存在迁移中创建的表。
任何智慧都非常感谢。
entity-framework - 实体框架迁移找不到我的 DbContext
我环顾了stackoverflow并搜索了互联网,但没有找到答案。
如果我尝试Enable-Migrations
为我的项目我得到异常
搜索上下文类型时出错(指定 -Verbose 以查看异常详细信息)。编辑生成的配置类以指定启用迁移的上下文。
所以我的问题是:
为了让实体框架迁移找到我的 DbContext 而不手动指定它,我的项目/DbContext 有什么要求?
提前致谢!
c# - 键列具有不同名称时的实体拆分?
我正在使用 Entity Framework 4.3.1 Code-First,我需要在两个表之间拆分一个实体。这些表有一个共享的主键,并且是一对一的,但每个表上的列名称不同。
我不控制数据布局,也不能请求任何更改。
例如,SQL 表可以是
这将是我的实体......
这是我的映射。
由于它们之间共享的键具有不同的列名,我不确定如何映射它。此映射将编译,但在运行时失败,因为 EF 发出 SQL 来查找“ExtendedTable”表上的“ThePrimaryKeyId”列,该表不存在。
编辑 为了澄清,如果“扩展表”上的 PK 遵循命名约定,我上面定义的内容可以(并且确实)工作。但事实并非如此,我也无法更改架构。
基本上,我需要 EF 发出的是一个 SQL 语句,例如
但它似乎唯一想要发出的东西是
编辑 我在 NSGaga 的建议下再次尝试了一对一的方法。它没有用,但结果如下。实体
这是映射类
此设置收到消息
将最终地图线更改为
返回此消息
更改映射键以使用父表中的列,MapKey("ThePrimaryKeyId")
. 返回此消息
从类中删除Id
属性ExtEntity
会引发错误,因为实体没有定义的键。
metadata - 带有 Firebrid 点网提供程序的 EF 4.3
我安装了 EF 4.3 我收到了这个错误。
System.Data.Entity.dll 中出现“System.Data.MetadataException”类型的第一次机会异常 System.Data.Entity.dll 中出现“System.Data.MetadataException”类型的未处理异常
并继续列出数据库中的所有表....
连接字符串如下,它在 EF 4.0 上运行良好
我正在尝试一个新项目,并且没有任何命名空间问题,我相信......搜索没有帮助。任何帮助都非常感谢...
谢谢!穆图·安纳玛莱
c# - 使用 Fluent Api 定义可选的自引用一对多关系
\tSystem.Data.Entity.Edm.EdmAssociationType::多重性与关系“Attribute_ValueAttribute”中角色“Attribute_ValueAttribute_Target”中的引用约束冲突。因为从属角色中的所有属性都不可为空,所以主体角色的多重性必须为“1”。
啊啊啊啊……
entity-framework-4 - 有没有办法撤消 /remove / rollback EF 4.3 外键命名约定?
首先使用 EF 代码,我们有一个 db 播种框架,它使用依赖注入的 Db 初始化程序和播种器来使用示例测试数据填充 dev db。
其中一些播种操作需要导入大量数据,因此对于几个表,我们使用带有 INSERT 语句的实际 SQL 文件。对于其中一些插入语句,必须禁用外键然后重新启用:
我刚刚从 EF 4.2 更新到 EF 4.3 并注意到这些不再起作用。对 EF 创建的数据库的检查表明,FK 现在的命名不同:
有什么办法可以删除这个命名约定并回到原来的?如果不是,这怎么不是已知问题或重大变化?
拉迪斯拉夫回复后更新
Ladislav 是对的,我上面对新命名模式的解释不太正确。我已经更新了它。前面的部分。不是完整的命名空间,而是实体模型项目中一个文件夹的名称。因此,如果我在文件夹 AggregateSet1 中有一个实体 WidgetAbc,则 fk 模式片段将是AggregateSet1.WidgetAbc
,而不仅仅是WidgetAbc
.