问题标签 [ef-code-first]
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.
entity-framework-4 - 代码优先:如何在源类/表也是目标的情况下创建多对多关系?
有人可以发布一个示例,说明如何使用代码优先创建源类也是目标类的多对多关系吗?
就像是:
玩具 * <-----> * 玩具
谢谢你。
努诺·塞尼卡
entity-framework-4 - 使用 EF CPT5 进行域建模和映射
我正在尝试建模一个包含照片集的相册。每个相册都有一组照片和一张拇指照片。这就是我所拥有的,但 EF 似乎不喜欢它。我正在使用 EF CPT5
型号:
映射代码:
语境
数据库工厂
我是否正确建模和映射?我需要能够在不指定缩略图的情况下创建新专辑。截至目前,一切正常,直到我尝试添加缩略图,然后我收到此错误:
System.Data.UpdateException:无法确定相关操作的有效排序。由于外键约束、模型要求或存储生成的值,可能存在依赖关系。
在 System.Data.Mapping.Update.Internal.UpdateTranslator.DependencyOrderingError(IEnumerable`1 余数) 在 System.Data.Mapping.Update.Internal.UpdateTranslator.ProduceCommands() 在 System.Data.Mapping.Update.Internal.UpdateTranslator.Update (IEntityStateManager stateManager, IEntityAdapter 适配器) 在 System.Data.Objects.ObjectContext.SaveChanges(SaveOptions options) 在 PostHope.Infrastructure.DataAccess.Database.Commit() 在 Database.cs:第 74 行在 PostHope.Infrastructure.DataAccess.IntegrationTests.BuildDatabase BuildDatabase.cs 中的 .Add_test_data_to_database():第 252 行
任何帮助都会很棒!
c# - 如何在按层次结构 (TPH) 映射的表中共享通用列名
我正在使用实体框架 4 CTP5 代码优先方法,并且我有一个按层次结构表 (TPH) 映射。我在层次结构中的一些类具有共同的属性。
默认约定将其映射到以下列:
- ID
- 第1条
- 第二条
- 客户1
- 客户2
- 制造商
- 命令
- 类型
我想让 EF4 共享通用属性,最终得到以下结果:
- ID
- 文章
- 顾客
- 制造商
- 命令
- 类型
除了减少列数之外,这还具有能够基于 Article 搜索记录的优势,而无需知道哪些类型确切具有 Article 属性。
我尝试将每个公共属性映射到同一列:
但这引发了以下异常:
指定的架构无效。错误:(36,6):错误 0019:类型中的每个属性名称必须是唯一的。已定义属性名称“文章”。
有谁知道如何绕过这个验证规则?
.net - EF4 Code First 绑定到成员角色的用户
首先玩代码,并希望跟踪与某些项目相关的用户状态。举个例子,假设我有
我是通过某种魔法直接使用 MembershipUser,还是制作类似
c# - EF4 Code First CTP5:种子方法不再有效
我的 EF Code First CTP4 工作正常,我今天安装了 CTP5。现在,重新填充我的数据库时出现异常。
这是我的模型:
这是在 Global.asax.cs 中调用的代码
当它在上下文中点击 SaveChanges 时,我得到了这个异常:
检测到有冲突的更改。当尝试插入具有相同键的多个实体时,可能会发生这种情况。
说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.Data.UpdateException:检测到冲突更改。当尝试插入具有相同键的多个实体时,可能会发生这种情况。
有谁知道发生了什么变化以及为什么这不再起作用?需要改变什么才能使它起作用?
c# - 实体框架代码优先命名约定 - 回到复数表名?
我只是先破解实体框架代码。按照他们的命名约定,我们现在必须将我们的表命名为复数,而不必干预该工具。我知道映射可以被覆盖。我的问题是,在遵循单数命名约定多年之后,我们是否又回到了使用复数名称?
另外,我想知道为什么新示例使用 Northwind 而不是 Adventure Works。我认为原因是因为 AW 使用单数命名,他们无法展示无代码功能
c# - Entity Framework CTP Code First 列命名和关系
我刚开始研究新的 Entity Framework CTP5 代码。
我有以下非常简单的实体。
因此,帐户有一个所有者(用户)并且可以有许多用户。这些关系被转换为一个Accounts
表和Users
数据库中的一个表。
在 Users 表中,我得到两个列,AccountId
并且AccountId1
,有没有办法控制这些列的生成名称。此外,我实际上希望表格上有一个属性UserId
列,但似乎引用在表格上。没有所有的钥匙真的很好:)AccountOwner
Accounts
Users
AccountId...n
c# - 如何在实体框架中设置两个相同类型的导航属性
使用代码优先 EF4(使用 CTP5),我可以添加一个导航属性以及外键,它会尊重命名,并且只将外键添加到表中一次。如果我然后去添加第二个相同类型的属性,它会在表格上将其分解为 4 列,而不是只有两列。
示例代码:
使用此模型,我将一个名为 PressTypeID 的属性添加到 PressType 的 AdapterFrameCapability 表中。
这是我要建模的设置,但它导致在表中创建 4 列,FromPressTypeID、FromPressTypeFromPressTypeID、ToPressTypeID 和 ToPressTypePressTypeID 各一列。理想情况下,我只想要 FromPressTypeID 和 ToPressTypeID 的列。我在这里做错了什么?
entity-framework - 存根实体的实体框架代码首先更新
是否可以在 EF Code-First 中使用存根对象在不查询 db 中的整行的情况下进行更新,...
例如
上面的代码是否会创建一个更新语句,这将使 DinnerID 1 的行的以下列为空?
标题、事件日期、地址、国家
有没有像“PropertyModified” = true 的方式或方法,然后其余的使它们 = false,以便 HostedBy 是唯一将被更新的?
c# - 如何使用代码优先 CTP5 将列映射到 EF4 中的复杂类型?
遇到 Entity Framework 4中缺乏enum
属性支持的问题后,我发现这篇文章描述了一种解决方法:
如何OrderStatusWrapper
在代码中而不是在设计器中表达数据库列到(如文章中所述)的映射?
更新:
根据提供的答案,我没有意识到我需要OrderStatus
用类型替换枚举OrderStatusWrapper
,即
代替:
我应该使用:
这让我更进一步,但是在执行以下代码时:
引发以下异常(为简洁起见):
数据库列名为Status
。我尝试用以下方式装饰Status
房产:
[Column("Status")]
然后
[Column("Status"), TypeName("OrderStatus")]
和
[Column("Status"), TypeName("OrderStatusWrapper")]
但这并不能解决此异常。
我还尝试删除该Column
属性并执行此操作:
但我得到以下编译错误:
错误 1 类型“ConsoleApplication1.OrderStatusWrapper”必须是不可为空的值类型,才能在泛型类型或方法“System.Data.Entity.ModelConfiguration.Configuration.Types.StructuralTypeConfiguration.Property( System.Linq.Expressions.Expression>)' [截断路径]