问题标签 [table-per-hierarchy]
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.
fluent-nhibernate - Fluent NHibernate automapping table-per-abstract-hierarchy / table-per-concrete-subclass
我有课
因此,我想要以下表格。我已经尝试过实现大量不同的 IConventions,但即使是层次映射(table-per-abstract-hierarchy / table-per-concrete-subclass)似乎也失败了。
我已经有丑陋的,工作流畅的映射,但我想摆脱一些丑陋
如何使用自动映射获得相同的结果?
entity-framework - 无法为鉴别器选择表(模型优先)
我正在尝试启动一个需要每个层次结构的表的项目。我过去用 NHibernate 做过这个,但我们希望避免手动编辑 XML 映射文件 - 所以正在尝试使用实体框架和它的设计器。
我一直在网上关注这个例子:http: //mosesofegypt.net/post/Inheritance-and-Associations-with-Entity-Framework-Part-1.aspx
尝试从“<添加表或视图>”下拉列表中选择表时,我无法选择任何表,而是列表显示“(空)”。
我与本教程的唯一偏差是我没有从示例数据库中生成 Person 表,据我所知这不应该有什么不同(我们想从模型中生成数据库,而不是反之亦然)。
不确定表需要满足哪些条件才能有资格将鉴别器添加到...
java - 如何更新hibernate的table-per-class-hierarchy策略中的具体类?
我已经使用了 hibernate 的 table-per-class-hierarchy ,如此处所述。
我有一个简单的 1 层层次结构,其中父级包含许多属性,而子级包含更多相同的属性。也有与对象的关系。例如:
我需要做的是将 Y 的持久实例“更新”为 Z 保持完整性的实例。如果我发出删除 Y;创建 Z,我得到唯一的约束违规(由于休眠的删除顺序遵循创建/更新),但没有找到将 Y“更新”到 Z 的策略。
entity-framework - 每个层次结构的实体框架表限制
我的数据库中有很大的表,无法修改。所以我有表格的 BaseEntity 类型。
我有几个孩子(实体1,实体2),我想将每种类型映射到同一列(“日期”)并以不同的方式命名属性。
当然,我不能将所有相同的列属性移动到基本类型,因为我的超级表中有大约 100 列(这不是我的设计,我只需要映射它)
所以我有 0019 错误,有什么办法可以解决它或 EF 不适合我吗?
entity-framework-4.1 - EF:使用 Fluent 映射的 TPH 实现抛出 Invalid Column Name 异常
这是我的实现。
下面是流畅的映射
这是数据库模型:
现在在我的数据访问层中,当我检索人员并尝试访问“Person.PersonExpirableCredentials”时。它会引发错误,列名无效“Person_PersonID”。下面是它生成的 SQL 查询。
由于某种原因,EF 无法识别 Person 类和子类 PersonExpirableCredentials 之间的关系。
请帮忙。
谢谢
c# - C#,实体框架,TPH
我对 TPH 映射有疑问。以下是课程:
抽象服务(基类)
具体服务
我总是收到以下错误:
--- 错误:在模型生成过程中检测到一个或多个验证错误:
这是堆栈跟踪:
未处理的异常:System.Data.Entity.ModelConfiguration.ModelValidationException:在模型生成过程中检测到一个或多个验证错误:
在 C:\Projects_PrismaLoader\Prisma.Load er\PrismaLoader.cs 中的 Prisma.Loader.PrismaLoader.Init():第 95 行在 C:\Projects_PrismaLoader\Prisma.Loader\ 中的 Prisma.Loader.PrismaLoader.Load(Boolean quick) PrismaLoader.cs:C:\Projects_PrismaLoader\Prisma.Loader\Program.cs 中 Prisma.Loader.Program.Main(String[] args) 的第 32 行:第 113 行
在这种情况下,堆栈跟踪并不是很有用(似乎......)
有谁知道我在哪里犯了错误?我已经找了一天了...
c# - EF,每个层次结构的表,抽象类中的属性
我想知道是否可以使用基类(抽象)中定义的虚拟属性来创建与其他具体类型的链接。
例如 :
我想我必须在 ICollection 上添加一个注释,以便它知道如何正确映射,但我找不到正确的。
你们有什么想法吗?
似乎如果我在 ICollection 上设置 [InverseProperty("Site")],它会崩溃并出现错误,表明该关系未在程序集中定义...
inheritance - EF:选择子类的所有实体(继承)
我正在使用数据库优先方法和 DbContext。我的数据模型中有几个继承结构 (TPH)。但是 DbContext 只为基类创建一个 DbSet,而没有为子类创建一个 DbSet。我应该如何检索指定子类的所有实体?
我无法根据映射条件编写查询,因为我必须从数据模型中删除这些字段。
我可以简单地向实体类(部分类)添加一个新的 DbSet 吗?
asp.net-mvc - 使用 TypeID 作为属性和条件的每个层次结构的实体框架表
我正在使用实体框架 + mvc 实现域树结构。我使用 JSTree 来呈现组织结构。
请注意,在该模型方案中,我使用 TypeID 属性作为继承的条件和 DomainEntity 的属性。这当然会引发以下错误:
错误 3 错误 3032:从第 139 行开始映射片段时出现问题:条件成员 'DomainEntities.EntityTypeID' 的条件不是 'IsNull=False' 被映射。删除 DomainEntities.EntityTypeID 上的条件或将其从映射中删除。C:\Code\CamelotShiftManagement\CamelotShiftManagement\Models\CamelotDB.edmx 140 15 CamelotShiftManagement
假设我不会使用 TypeID 作为属性并将其作为继承关联的条件,当我尝试填充我的域实体树时,这将导致以下结果:
此代码不可维护,因为当引入新实体时,我将不得不更改此代码,如果我只能访问一个属性,该属性将告诉我我正在处理的实体类型.. :) 。
这是一个难题: 如果我使用继承和 TypeID 作为每个继承的条件,我无法将其作为 DomainEntity 的属性访问,这将需要我使用 switch-case 来对抗typof(entity) 来确定我应该发送到什么类型我的 JSTree 插件,因为他希望他的 JSON 中的每个节点都有一个类型标识,如果我不使用继承,我将失去多态能力。
这不仅仅是我所追求的多态性..还有其他方法和属性仅与继承的实体相关,我可以在未来看到一些注入点......
entity-framework - 代码优先 - 鉴别器为 NULL 或 NOT NULL 时的映射
我想在 EF5 Code First 中使用 TPH 继承。我想基于数据库中的列是否为空。
我发现这个链接表明它在 EF4 中是不可能的。实体框架 4 - 特征 CTP5(代码优先)中的 TPH 继承与“IS NULL”鉴别器
这是否已在 EF5 中修复?如果是这样,语法是什么?