- 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/
目录 mybatis resulttype 返回值异常 例如:resulttype = "student" 但是当中有些字段为空
我目前正在为两个数据库 API(领域和 Firestore)编写数据库访问类。为了精简代码,我尝试使用泛型(#1)来解决整个问题。不幸的是,它不起作用。我在哪里错过了重点? 我尝试定义关联类型(#2)
我刚刚遇到了通过 Xcode 4.6.2 中的模型编辑器创建的获取请求模板的问题。我尝试更改获取请求的核心数据检查器中的结果类型设置,如下图所示: 但是,当我在代码中加载模板时,这些设置没有反射(re
我想按列对表进行分组并获取计数,然后使用结果创建字典。最后一条语句返回错误 DbExpressionBinding requires an input expression with a collec
我正在尝试声明类型为 AWSTaskCompletionSource 的变量,但我有 ` Generic parameter 'ResultType' could not be inferred 请看
我正在尝试弄清楚如何使用 struts2 XSL ResultType。除了 official documentation 之外,我只是不知道它应该如何工作。 ,我在网上找到了两篇试图解释它的文章(对
考虑创建使用 NSDictionary 作为 resultType 初始化的 NSFetchRequest: let fetchRequest = NSFetchRequest(entityName:
我的 linq 查询有一个大问题 var t = from tl in _GxEntities.T_L join td
根据一些有限的测试,我发现如果我 执行结果类型 = NSDictionaryResultType 的 Fetch 请求 对返回值进行一些操作 存储执行 Fetch 请求的 MOC 步骤 2 中的更改不
我试图在 MyBatis 中选择一个时间戳并将其作为 LocalDateTime(来自 joda-time)返回。 如果我尝试将结果作为 java.sql.Timestamp 返回,我的配置工作正常。
摘要 我有三个类(class): Account SpecialAccount (继承自 Account) Profile (0..1 与 SpecialAccount 的关系) 换句话说,一个 Sp
我在运行此查询时遇到异常(使用 LinqPad 进行调试): int[] serviceCodes= new int[] { 1610, 1611, 1612 }; byte[] payModes =
我正在尝试运行以下 linq 查询: var entries = from entry in _db.Entries select new CommentSummary() {
我收到此错误 DbExpressionBinding 需要一个带有集合 ResultType 的输入表达式。在使用 ASP.NET MVC 时仍然非常绿色,所以我不明白发生了什么以及为什么我会收到此错
当我将我的项目转换为 swift 3.0 时,我发现了这个错误 parameter 'ResultType' could not be inferred 我的代码是这样的: let fetchRequ
我正在使用 OData Nuget 包开发 Web API 原型(prototype)。 我在使 LINQ to EF 查询正常工作时遇到了一些问题。 Here are my data model.它
我有一个带有 TPT 继承的模型。 位置(抽象) 街道(派生自位置) GoogleStreetView(1 街道 -> 0..1 GoogleStreetView) 以上每个都有自己的表格。 在我添加
我正在开发 macOS 应用程序,并使用 CoreData 存储在数据库中。应用程序将支持 OS X 10.11 及更高版本。在 OS X 10.12 机器应用程序工作正常,但在 OS X 10.11
我是一名优秀的程序员,十分优秀!