- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
0..1 GoogleStreetView) 以上每个都有自己的表格。 在我添加-6ren">
我有一个带有 TPT 继承的模型。
1
街道 -> 0..1
GoogleStreetView)以上每个都有自己的表格。
在我添加“GoogleStreetView”表(由到 Street 的 PK/FK 支持)之前一切正常。
当我尝试这样做时:
var street = _locationRepository
.Find()
.OfType<Street>()
.Include(x => x.GoogleStreetView)
.SingleOrDefault(x => x.LocationId == 1);
我得到错误:
The ResultType of the specified expression is not compatible with the required type. The expression ResultType is 'Transient.reference[xxxx.Repositories.SqlServer.Location]' but the required type is 'Transient.reference[xxxx.Repositories.SqlServer.Street]'. Parameter name: arguments[0]
什么……?
然后我找到this thread这基本上表明这是 EF 4(和 EF 4.1 RTM,从外观上看)的错误。
我不明白“使用独立关联,没有支持 FK”的解决方法。
我使用 Repository/UoW 模式,所以我的 LocationRepository 只能访问 ObjectSet<Location>
.所以我不能在 LINQ 查询中进行显式连接。
在这个阶段,看起来我根本不需要映射这个表,而是使用存储过程从数据库中获取它。叹息。
谁能阐明这一点并提供解决方案?
最佳答案
好的,我找到了一种解决方法。
那就是翻转 FK。
所以代替:
1 Street -> 0..1 GoogleStreetView
这是正确的,我现在有:
* Street -> **0..1 GoogleStreetView
现在 Street 有一个指向 GoogleStreetView 的可为空的 FK。
从代码的角度来看,它工作正常,但从数据库的角度来看,这是完全错误的,因为缺乏参照完整性,一个特定的 GoogleStreetView 记录可能指向多个 Street 记录,这没有任何意义.
但这看起来是唯一合适的解决方法。
EF 似乎不支持由 PK/FK 组合支持的 1 - 0..1 关联。
如果你问我是 Not Acceptable 。如果他们知道这是 EF 4.0 中的错误,为什么不在 4.1 中修复它???
编辑
上述解决方法也可以工作,但不满意在概念方面打破参照完整性。
所以我决定根本不映射这个实体,而是通过存储过程从数据库中获取它。
关于c# - Entity Framework 4.1 - TPT 预加载 - "The ResultType of the specified expression is not compatible with the required type",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6171455/
在我的项目中,我使用 TPT 作为测试环境,我们使用基于模型的测试。代码覆盖率通常在 80% 左右。但是客户要求100%的覆盖率,所以想用.c和.h文件进行测试。 我是这类测试的新手,因为我们只进行了
我首先使用代码,然后使用 TPT 继承。正在生成实体的基本类型表,但其主键上没有标识。 (如果有帮助,我可以发布代码)我的个人表有一个主键,但没有“是身份”。子类表按预期生成。 由于它没有为基本类型生
我正在编写一个使用继承的应用程序,我试图将其映射到具有 TPT 结构的 SQL Server 数据库。 但是,出于某种原因,EF 在父类(super class)表和子类表中生成了重复的外键。 我有这
我在我的数据库中创建了大量的表,以下是有问题的表: Table Name -Item ItemID - PK (Auto Increment) Title Table N
我正在尝试使用 TPT java api 来实现项目的一些自动化。 并尝试使用函数“generateTestCasesFromTestData”“添加步骤列表”但无法弄清楚从哪里获取其第一个参数“Sc
如何确定具有 TPT 继承的实体的子类型? 如果我有一个基类 Person 和两个子类 Manager 和 Customer,应该可以查询所有的人,然后通过使用 GetType 方法按他们的子类分组,
我有一个带有 TPT 继承映射的项目,现在我需要给它添加一个搜索功能,以便在多个表中查找记录。这就是我目前拥有的: public abstract class Customer { publi
我们正在使用 C# MVC .NET4。 EF5(代码优先)。 我们正在尝试构建一个系统,该系统应动态允许用户将额外属性“附加”到任何实体。 假设我们有 ProductClass 和 Products
我的域实体正在使用 EF Table Per Type Inheritance,这是关系。 如您所见,发票位于父实体 Order.cs 上。这让我现在在处理发票时遇到问题。 例如,要创建发票,我需要将
我有这个数据库结构: 服务 Id 整数 PK CategoryId FK 一些其他领域 本地化服务 LocalizedServiceId 公钥 LanguageId FK 姓名 描述 如您所见,我有一
我将 EF 与代码优先和 TPT(每个类型的表)继承结合使用。我有以下模型: public partial class AccountHolder { public int AccountHo
概览 我首先使用实体框架 4.3 代码和流畅的界面来设置我的 DbContext。我有一个基 Item 类,其中包含继承它的其他类型,例如 Event、BlogPost、ForumThread、W
在 Entity Framework 的早期版本中,在使用 Table per Type 继承时存在一些严重的性能问题,如下所述: http://www.codeproject.com/Article
考虑以下具有 TPT 继承的 Entity Framework 模型。 数据库表: Person (PersonID, Name) Student (PersonID, Grade) EF 实体: P
我试图达到的是使用 TPT 继承的 AbstractUser 和 Plant 之间的 NM 关系。 当我尝试配置关系时, modelBuilder.Entity().HasMany(c => c.Re
我们的系统正在接收来自两个外部来源的输入(电话/网络提交)。 // Table-Per-Type Hierarchy public class Submission { public int
我有一个关于 TPT + EF6 的大问题。 在我的数据库模型中,我有一张表 Person(我的应用程序中人员的基本信息),并且我有用于 Supplier 和 Consumer 的表. 我的类(cla
我想在 EF 中实现以下模型作为 TPT 设计。 我的代码如下: 基础型号 public abstract class Product { public int Id { get; set;
这个问题会围绕Account、IndividualAccount、Doctor这3个class进行说明: 前两个类是抽象的 IndividualAccount 是 Account 的子类 Doctor
针对遗留数据库使用 Entity Framework 4.1,我无法生成工作的 TPT 继承模型集,这些模型没有复数化并且对公共(public)主键使用不同的名称。 我正在使用数据库表 Organiz
我是一名优秀的程序员,十分优秀!