草庐IT

LINQ_ENABLED

全部标签

c# - LINQ to Entities - where..in 多列子句

我正在尝试使用LINQ-to-EF查询表单数据:classLocation{stringCountry;stringCity;stringAddress;…}通过元组(国家、城市、地址)查找位置。我试过了varkeys=new[]{new{Country=…,City=…,Address=…},…}varresult=fromlocinLocationwherekeys.Contains(new{Country=loc.Country,City=loc.City,Address=loc.Address}但LINQ不想接受匿名类型(我理解这是在LINQ中表达元组的方式)作为Contain

c# - LINQ:为什么叫 "Comprehension Syntax"

为什么是followingLINQsyntax(有时称为“查询”语法)称为“理解”语法?理解了什么(肯定是错误的)?或者,全面代表了什么(也许我现在走对了路)? 最佳答案 它来自与语言无关的术语ListComprehension许多语言都遵循。历史显然是:TheSETLprogramminglanguage(later1960s)hadasetformationconstruct,andthecomputeralgebrasystemAXIOM(1973)hasasimilarconstructthatprocessesstream

c# - 使用 LINQ 在两个数组中获取不同的和共同的项目

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。例如,我有两个数组:varlist1=string[]{"1","2","3","4","5","6"};varlist2=string[]{"2","3","4"};我想做的是-从list1和list2中获取常见项目(例如{"2","3","4"})获取不同的项目list1和list2(例如{"1","5","6"})所以我尝试使用LINQ和-varl

c# - IEnumerable Linq 方法是线程安全的吗?

我想知道Linq扩展方法是否是原子的?或者我是否需要在任何类型的迭代之前锁定跨线程使用的任何IEnumerable对象?将变量声明为volatile对此有任何影响吗?总而言之,以下哪项是最好的线程安全操作?1-没有任何锁:IEnumerable_objs=//...varfoo=_objs.FirstOrDefault(t=>//somecondition2-包括锁定语句:IEnumerable_objs=//...lock(_objs){varfoo=_objs.FirstOrDefault(t=>//somecondition}3-将变量声明为volatile:volatileIE

c# - PagedList 使用 LINQ Skip and Take,但使用结果计数显示分页

我正在尝试显示基于类别过滤器和ItemsPerPage的过滤后的产品列表,但在尝试将其与PagedList一起使用时遇到了一些问题。如果我需要编写自己的分页代码或者有没有办法使用PagedList获得我需要的结果,具有PagedList专业知识的人可以给我建议。我正在使用LINQ的Skip&Take函数来仅获取需要在当前页面上显示的行数,但我仍然希望分页链接根据过滤器的总计数显示页面。例如:我的搜索过滤器找到了50个结果,但由于我每页的行是10个项目,我使用LINQ的Skip()和Take()只返回10行。我仍然需要在我的View.cshtml中显示页面链接>现在使用默认的PagedL

c# - LINQ to Objects 连接两个集合以在第一个集合中设置值

我有以下EntityFramework查询:varresults=fromrindb.Resultsselectr;我正在使用AutoMapper映射到另一种类型:varmapped=Mapper.Map,IEnumerable>(results);在我的Objects.Result类型中,我有一个名为reason的属性,它不是来自数据库。它来自另一个来源,我需要基本上将其填充回我的映射类型:varreasons=newList{newReason{Id=1,Reason="asdf..."}};我需要将原因与我的映射集合连接起来,并使用我的原因集合中的值在我的映射集合中设置Reaso

c# - 如何使用LINQ实现Left Excluding JOIN?

如何使用LINQ实现LeftExcludingJOIN?在SQL:SELECTFROMTable_AALEFTJOINTable_BBONA.Key=B.KeyWHEREB.KeyISNULL 最佳答案 LEFTJOIN需要DefaultIfEmpty(),然后可以检查连接值是否为null:varresult=fromainTable_AjoinbinTable_Bona.Keyequalsb.Keyintojfrombinj.DefaultIfEmpty()whereb==nullselectnew{...};

c# - 如何让 LINQ 根据文化进行排序?

假设我有一个包含瑞典语单词的字符串列表:banan、äpple、apelsin、druva.现在我想对这个列表进行排序(请记住,这是真实查询的一个非常简化的版本):varresult=fromfinfruits//Thelistmentionedaboveorderbyfselectf这将给我:apelsin、äpple、banan、druva。但是,根据瑞典字母表,我应该得到:apelsin、banan、druva、äpple我尝试将System.Threading.Thread.CurrentThread.CurrentCulture更改为sv-SE但这似乎并没有真正影响它。我必须

c# - LINQ 语句中匿名类型的等效 VB.NET 语法是什么?

我正在尝试将一些C#LINQ代码转换为VB.NET,但一直纠结于如何在VB.NET中声明匿名类型。.Select(ci=>new{CartItem=ci,Discount=DiscountItems.FirstOrDefault(di=>di.SKU==ci.SKU)})如何将C#的new{...}语法转换为VB.NET? 最佳答案 new{...}变成VB.NET中的新功能{...},或NewWith{Key...}如果您想使用Key属性(它允许您比较两个匿名类型实例,但不允许更改这些属性的值)。所以我猜你的陈述应该是这样的:.S

c# - FindAsync 和 Include LINQ 语句

我目前得到的代码工作正常publicasyncTaskDetails(Guid?id){if(id==null){returnnewHttpStatusCodeResult(HttpStatusCode.BadRequest);}ItemDetailModelmodel=newItemDetailModel();model.Item=awaitdb.Items.FindAsync(id);if(model.Item==null){returnHttpNotFound();}returnView(model);}但我想再包含1个表,不能使用FindAsyncpublicasyncTask