草庐IT

c# - Entity Framework 6 Code First 自定义函数

我正在尝试类似的东西:Howtousescalar-valuedfunctionwithlinqtoentity?但是我没有使用EDMX,而是先使用DbContext和代码。我遇到过这个:https://codefirstfunctions.codeplex.com/但是用法不合适。我想要实现的是能够做到这一点:varlocations=context.Locations.Where(e=>Functions.LatLongDistanceCalc(e.Lat,e.Long,lat,long)>=10)它将调用SQLServer上的标量函数(LatLongDistanceCalc)。有

c# - 具有匿名类型和用户定义类型的 LINQ 选择查询

匿名类在C#中具有只读属性。这通常用于在linqselect查询中声明以从数据库中获取特定值。在我的代码中,我有以下查询。让我困惑的是使用new语句选择匿名类的新对象。我有一个模型类StudentClerkshipsLogModel。当我使用模型名称时,查询结果允许编辑。varquery=(fromentityin_tblStudentClerkshipsLog.GetQueryable()whereentity.StudentID==intStudentIDselectnewStudentClerkshipsLogModel{StudentClerkshipID=entity.Stu

C# 对具有相同类型的不同属性重新使用 LINQ 表达式

我有一个类(class)有几个int属性:classFoo{stringbar{get;set;}inta{get;set;}intb{get;set;}intc{get;set;}}我有一个LINQ表达式,我希望在List上使用.我希望能够使用此表达式通过查看三个属性中的任何一个来从列表中过滤/选择。例如,如果我按a过滤:returnlistOfFoo.Where(f=>f.a>=0).OrderBy(f=>f.a).Take(5).Select(f=>f.bar);但是,我希望能够使用f.a中的任何一个来做到这一点。,f.b,或f.c.我不想重新键入LINQ表达式3次,而是希望有一

c# - 使用 LINQ 将 DataRow 转换为字典

我需要使用LINQ将DataRow转换为Dictionary。下面的代码将获取DataRow,下一步是我需要将其转换为字典(ColumnName,RowVale)varWorkWeekData=fromdatainmWorkWeekData.AsEnumerable()wheredata.Field("Code")==codeselectdata; 最佳答案 这绝对有可能,是的:vardict=row.Table.Columns.Cast().ToDictionary(c=>c.ColumnName,c=>row[c]);

c# - 方法 'Skip' 仅支持 LINQ to Entities 中的排序输入

是什么导致了这个问题?publicActionResultIndex(intpage=0){constintpageSize=3;varareas=repo.FindAllAreas();varpaginatedArea=newPaginatedList(areas,page,pageSize);returnView(paginatedArea);}usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;namespaceUTEPSA.Controllers{classPaginated

c# - 如何确定字符串是否包含字符串列表的任何匹配项

嗨,我有一个字符串列表:varlistOfStrings=newList{"Cars","Trucks","Boats"};我有一个带有名称字段的车辆选项。我想找到名称与listOfStrings中的一项匹配的车辆。我正在尝试使用linq来执行此操作,但目前似乎无法完成。varmatchingVehicles=Vehicles.Where(v=>v.Name==oneofthelistOfStringItem)谁能帮我解决这个问题? 最佳答案 Vehicles.Where(v=>listOfStrings.Contains(v.Na

c# - Linq:TimeSpan 中 2 个 DateTime 之间的差异

我正在尝试这样做:Tickets.Where(t=>(t.Date-myTicket.Date)我收到“DbArithmeticExpression参数必须具有数字通用类型”错误。考虑到我需要TimeSpan的差异,我该怎么做?提前致谢。 最佳答案 你会想要使用SqlFunctions.DateDiffTickets.Where(t=>SqlFunctions.DateDiff("second",t.Date,myTicket.Date) 关于c#-Linq:TimeSpan中2个Dat

c# - 使用 Entity Framework 删除项目

我正在尝试使用EntityFramework删除对象,在Internet上的所有教程中,我发现要执行此操作,您必须在上下文中调用DeleteObject方法。我尝试这样做,但似乎我没有DeleteObject方法。这是我的代码:publicvoidDeleteBook(intbookId){Bookbook=(Book)bookContext.Books.Where(b=>b.Id==bookId).First();bookContext.DeleteObject(book);}这是我得到的错误:'DataAccess.Models.BooksEntities'doesnotconta

c# - 我可以在 Linq Comparable 中使用 TryParse 吗?

一种:Documenti=Documenti.OrderBy(o=>string.IsNullOrEmpty(o.Note)).ThenBy(o=>Int32.TryParse(o.Note)).ToList();如果o.Note是“”或不是int,那将“忽略”(不是顺序,放在末尾)。我该怎么做? 最佳答案 所有使用C#7或更新版本的人都滚动到底部,其他人都可以阅读原始答案:是的,如果您将正确的参数传递给int.TryParse,您可以.两个重载都将int作为out参数,并在内部使用解析后的值对其进行初始化。所以像这样:intnot

c# - 我可以使用什么构造来代替 Contains?

我有一个包含id的列表:varmyList=newList();我想从db中选择id来自myList的所有对象:varobjList=myContext.MyObjects.Where(t=>myList.Contains(t.Id)).ToList();但是当myList.Count>8000我得到一个错误:Thequeryprocessorranoutofinternalresourcesandcouldnotproduceaqueryplan.Thisisarareeventandonlyexpectedforextremelycomplexqueriesorqueriestha