- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 OData Nuget 包开发 Web API 原型(prototype)。
我在使 LINQ to EF 查询正常工作时遇到了一些问题。
Here are my data model.它已被高度简化。
我正在尝试使用此 DTO 使查询正常工作:
public class Product
{
public int Id { get; set; }
public string Name { get; set; }
public IEnumerable<Order> Orders { get; set; }
}
public class Order
{
public int Id { get; set; }
public DateTime Date { get; set; }
}
[Queryable]
public IQueryable<Product> Get()
{
var productA = _context.ProductA
.Select(p => new Product
{
Id = p.id,
Name = p.name,
Orders = p.ProductAOrders.Select(o => new Order
{
Id = o.OrderId,
Date = o.Orders.Date,
})
});
var productB = _context.ProductB
.Select(p => new Product
{
Id = p.Id,
Name = p.Name,
Orders = p.ProductBOrders.Select(o => new Order
{
Id = o.OrderId,
Date = o.Orders.Date,
})
});
return productA.Union(productB);
}
<Error><Message>An error has occurred.</Message><ExceptionMessage>The 'Distinct' operation cannot be applied to the collection ResultType of the specified argument.
Parameter name: argument</ExceptionMessage><ExceptionType>System.ArgumentException</ExceptionType><StackTrace> at System.Data.Common.CommandTrees.ExpressionBuilder.Internal.ArgumentValidation.ValidateDistinct(DbExpression argument)
at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.UnionTranslator.TranslateBinary(ExpressionConverter parent, DbExpression left, DbExpression right)
at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.BinarySequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call)
at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.SequenceMethodTranslator.Translate(ExpressionConverter parent, MethodCallExpression call, SequenceMethod sequenceMethod)
at System.Data.Objects.ELinq.ExpressionConverter.MethodCallTranslator.TypedTranslate(ExpressionConverter parent, MethodCallExpression linq)
at System.Data.Objects.ELinq.ExpressionConverter.TypedTranslator`1.Translate(ExpressionConverter parent, Expression linq)
at System.Data.Objects.ELinq.ExpressionConverter.TranslateExpression(Expression linq)
at System.Data.Objects.ELinq.ExpressionConverter.Convert()
at System.Data.Objects.ELinq.ELinqQueryState.GetExecutionPlan(Nullable`1 forMergeOption)
at System.Data.Objects.ObjectQuery.ToTraceString()
at System.Data.Entity.Internal.Linq.InternalQuery`1.ToString()
at System.Data.Entity.Infrastructure.DbQuery`1.ToString()
at System.Convert.ToString(Object value, IFormatProvider provider)
at System.Web.Http.Tracing.Tracers.HttpActionDescriptorTracer.<ExecuteAsync>b__2(TraceRecord tr, Object value)
at System.Web.Http.Tracing.ITraceWriterExtensions.<>c__DisplayClass1b`1.<>c__DisplayClass1f.<TraceBeginEndAsync>b__13(TraceRecord traceRecord)
at System.Web.Http.Tracing.SystemDiagnosticsTraceWriter.Trace(HttpRequestMessage request, String category, TraceLevel level, Action`1 traceAction)
at System.Web.Http.Tracing.ITraceWriterExtensions.<>c__DisplayClass1b`1.<TraceBeginEndAsync>b__12(TResult result)
at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass3b`2.<Then>b__3a(Task`1 t)
at System.Threading.Tasks.TaskHelpersExtensions.ThenImpl[TTask,TOuterResult](TTask task, Func`2 continuation, CancellationToken cancellationToken, Boolean runSynchronously)
</StackTrace></Error>
最佳答案
看起来像一个EF错误。我假设您正在尝试使 MEST(相同类型的多个实体集)工作。您可以尝试,而不是您的查询,
public IQueryable<Product> Get()
{
var productA = _context.ProductA
.Select(p => new Product
{
Id = p.id,
Name = p.name,
});
var productB = _context.ProductB
.Select(p => new Product
{
Id = p.Id,
Name = p.Name,
});
return
productA
.Union(productB)
.Select(p => new Product
{
Id = p.Id,
Name = p.Name,
Orders = _context.Orders
.Where(o => o.ProductA.Id == p.Id || o.ProductB.Id == p.Id)
.Select(o => new Order
{
Id = o.OrderId,
Date = o.Orders.Date,
})
});
}
关于linq - Web API、OData、EF5、联合 : The 'Distinct' operation cannot be applied to the collection ResultType of the specified argument,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15509901/
目录 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
我是一名优秀的程序员,十分优秀!