- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
您好,我正在尝试在 IQueryable
上使用 DefaultIfEmpty()
函数,它会抛出异常“不支持用于查询运算符‘DefaultIfEmpty’的重载。”这是我的代码:
Dinner defaultDinner = db.Dinners.Where(d => d.DinnerID == 5).Single();
Dinner blah;
IQueryable<Dinner> bla = db.Dinners.Where(d => d.DinnerID == id)
.DefaultIfEmpty(defaultDinner);
blah = bla.First();
return blah;
我找到了一种不使用 DefaultIfEmpty
的不同方法,但我仍然想知道如何解决这个问题...这是异常的第一部分:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NotSupportedException: Unsupported overload used for query operator 'DefaultIfEmpty'.
最佳答案
这对我来说似乎是不言自明的:
Unsupported overload used for query operator 'DefaultIfEmpty'
听起来您的 LINQ 提供程序(您未指定)不支持采用默认值的 DefaultIfEmpty
的重载。
最简单的替代方法可能是使用:
var ret = db.Dinners.Where(d => d.DinnerID == id)
.FirstOrDefault();
return ret ?? db.Dinners.Where(d => d.DinnerID == 5).Single();
请注意,除非需要,否则这种方法会避免获取“默认”晚餐,因此效率也更高。
(如果任何 ID 应该只有一个结果,那么您可能应该顺便使用 SingleOrDefault
而不是 FirstOrDefault
。这样更符合逻辑。)
关于c# - DefaultIfEmpty() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7084183/
我有一个 Entity Framework 模型 Schedule 映射到表 dbo.Schedule。 Schedule 中的两个字段是 hours(decimal)和 week_ending(Da
为什么在 DefaultIfEmpty 查询后数组仍然为空? class Program { static void Main(string[] args) { Pro
我有这门课: class OriginalClass { string FirstItem; List ListOfSecondItems; } 我想将一个类的列表转换为另一个类的列表,或者将
我编写了以下 linq 查询,它通过将数据连接在一起来创建一个新对象,如您所见: var translations = from t in context.Translations
您好,我正在尝试在 IQueryable 上使用 DefaultIfEmpty() 函数,它会抛出异常“不支持用于查询运算符‘DefaultIfEmpty’的重载。”这是我的代码: Dinner d
我正在寻找解决 DefaultIfEmpty() 问题的方法在 LINQ 外连接中使用时,扩展方法不获取空值。 代码如下: var SummaryLossesWithNets
有人能解释一下如何DefaultIfEmpty()可以在 LINQ 中使用。我已经准备好了一些 Material ,但仍然需要一些扎实的东西来看看它的用途。 最佳答案 如果源集合为空,它基本上返回一个
我正在使用 C#、.NET4.5、EF6(实际上应该不重要)。 我从数据库中选择一些值,然后.ToList()它们,然后添加DefaultIfEmpty(new ActualFee{Net = 0,
追踪 System.Linq.Enumerable.DefaultIfEmpty 的实现让我找到了这个方法。除了以下古怪的细节外,它看起来还不错: // System.Linq.Enumerable
好像rx-swift还没有实现DefaultIfEmpty .有没有其他方法可以模仿这种行为? let myList:[Int] = [] myList.toObservable() .swi
我在 MSDN 上看到一个示例,如果没有返回任何内容,它会让您指定默认值。见下文: List months = new List { }; int firstMonth2 = months.Defau
leftOuterJoin 的文档Query Expressions on MSDN通过样本反复暗示使用 leftOuterJoin .. on .. into .. 时您仍然必须使用 .Defaul
有人可以向我解释这里出了什么问题吗?我正在使用 Linq to Sql 创建一个非常讨厌的查询。 我遇到的问题是我需要在某些表上进行左连接(使用 DefaultIfEmpty)我需要从DefaultI
我正在构建一些 Linq 表达式并试图获取 IEnumerable.DefaultIfEmpty ( http://msdn.microsoft.com/en-us/library/bb360179.
有一组设备类型,其中一些支持配置设置。我正在尝试获取所有设备类型和任何适用设置的列表。 此查询不会选取没有 DeviceParameters 的设备。如果我添加 .DefaultIfEmpty() 如
搜索了很多之后,我找不到 F# 等效的 Enumerable.DefaultIfEmpty . F# 中是否存在类似的东西(也许以不同的惯用方式)? 最佳答案 为了保持序列的惰性,我们可以使用枚举器的
我有以下数据库结构(简化) 店铺 StoreId RateId 产品 ProductId Name 费率 RateId Name IsDefault 价格 PriceId ProductID Rate
我正在尝试使用 .DefaultIfEmpty() 语法使用具有大量左连接的 Oracle EF 框架(Oracle.ManagedDataAccess.EntityFramework nuget 包
var query = from r in list where r.Id == "" DefaultIfEmpty(String.Empty) 不起作用。 我如何编写具有查询样式的 linq 查询并
我正在尝试拉下联系人的 NULLS,我正在使用 DefaultIfEmpty 来执行此操作。但是我收到了这个错误。 “方法‘GroupJoin’不能跟在方法‘Join’之后或不受支持。尝试根据支持的方
我是一名优秀的程序员,十分优秀!