草庐IT

c# - Linq order by aggregate in select { }

这是我正在处理的一个:varfStep=frominspinsq.Inspectionswhereinsp.TestTimeStamp>dStartTime&&insp.TestTimeStamp我想按所选投影中的一个或多个字段排序。 最佳答案 最简单的更改可能是使用查询延续:varfStep=frominspinsq.Inspectionswhereinsp.TestTimeStamp>dStartTime&&insp.TestTimeStamp老实说,这基本上等同于使用“let”——真正的区别在于let引入了一个新范围变量,而查

c# - 我如何/可以使用 linq to xml 以合理的内存消耗查询巨大的 xml 文件?

我对linqtoxml的处理不多,但我看到的所有示例都将整个XML文档加载到内存中。如果XML文件是8GB,而您真的没有选择怎么办?我的第一个想法是使用XElement.LoadMethod(TextReader)结合FileStreamClass的实例.问题:这行得通吗?这是解决搜索超大XML文件问题的正确方法吗?注意:不需要高性能..我正在尝试让linqtoxml基本上完成我可以编写的程序的工作,它循环遍历我的大文件的每一行并收集起来,但由于linq是“以循环为中心”我希望这是可能的.... 最佳答案 使用XElement.Lo

c# - 过滤包括 LINQ 和 Entity Framework 中的项目

这个问题在这里已经有了答案:EF:Includewithwhereclause[duplicate](5个答案)关闭1年前。目前我的应用程序中有此LINQ/EF代码:varrootCategoryItem=DatabaseContext.Categories.Include("SubCategories").OrderBy(c=>c.CategoryOrder).Single(c=>c.CategoryId==1);我知道在EF中你还不能过滤包含的项目,我可以写一些LINQ代码来过滤掉不需要的子类别......但是LINQ代码被转换成一个可怕的SQL,这是非常不-优化。我也可以编写一个

c# - LINQ 插入提交 : NullReferenceException

我有这个代码:usingDC=MV6DataContext;usingMV6;//BusinessLogicLayer//...publicDC.MV6DataContextdc=newDC.MV6DataContext(ConnectionString);IPip=newIP(Request.UserHostAddress);dc.IPs.InsertOnSubmit(ip);dc.SubmitChanges();//inBusinessLogiclayer:publicclassIP:DC.IP{publicIP(stringaddress){...}}在尝试InsertOnSub

c# - LINQ .Cast() 扩展方法失败但(类型)对象有效

为了在某些LINQtoSQL对象和DTO之间进行转换,我们在DTO上创建了显式转换运算符。这样我们就可以执行以下操作:DTOTypeMyDTO=(LinqToSQLType)MyLinq2SQLObj;这很有效。但是,当您尝试使用LINQ.Cast()扩展方法进行转换时,它会抛出一个无效的转换异常,指出无法将类型Linq2SQLType转换为类型DTOType。即以下不起作用ListNames=dbContact.tNames.Cast().ToList();但下面的工作正常:DAL.tNameMyDalName=newDAL.tName();DTO.NameMyDTOName=(DT

c# - LINQ to SQL 查询,其中字符串以通用列表中的元素开头

我希望更新我的查询之一,因为搜索要求已更改。最初,用户要输入单个SKU和制造商。搜索产品目录的日期范围。所以这就是我使用的。DateTimestartDate=...;DateTimeendDate=...;stringprodSKU=TextSKU.Text.Trim();varresults=fromcindb.Productswherec.is_disabled==false&&c.dom>=startDate&&c.dom现在要求说用户可以在文本框中输入以逗号分隔的SKU列表进行搜索。我感到困惑的是如何在mfg.xml中找到所有产品。以skuList中的任何SKU开头的日期范围

c# - LINQ 中的实体附件问题

我试图在从表单POST接收到LINQ实体后将其附加到数据上下文。但是,我得到的只是以下异常:Anentitycanonlybeattachedasmodifiedwithoutoriginalstateifitdeclaresaversionmemberordoesnothaveanupdatecheckpolicy.我也试过附加原始行,如下所示:dataContext.People.Attach(person,originalPerson);在这种情况下,我得到以下异常:Objectreferencenotsettoaninstanceofanobject.这是我Controller

c# - Entity Framework + LINQ + "Contains"== 超慢?

在尝试重构一些最近变得非常慢的代码时,我遇到了一个代码块,它的执行时间超过5秒。代码由2条语句组成:IEnumerableStudentIds=_entities.Filters.Where(x=>x.TeacherId==Profile.TeacherId.Value&&x.StudentId!=null).Select(x=>x.StudentId).Distinct();和_entities.StudentClassrooms.Include("ClassroomTerm.Classroom.School.District").Include("ClassroomTerm.Tea

c# - Linq-to-SQL 中的 SubmitChanges 和 Entity Framework 中的 SaveChanges 之间的技术区别是什么?

Linq-to-SQL中的SubmitChanges和EntityFramework中的SaveChanges在技术上有什么区别?我们知道SubmitChanges是DataContext类的一个概念,而SaveChanges是ObjectContext的一个方法。还有其他区别吗?谢谢 最佳答案 来自MSDN:SaveChanges在事务中运行。如果无法保留任何脏的ObjectStateEntry对象,SaveChanges将回滚该事务并抛出异常SubmitChanges启动事务,如果在执行SubmitChanges时发生异常,则将

c# - 使用 Linq 除了不像我想的那样工作

List1包含项目{A,B}和List2包含项目{A,B,C}.我需要的是在使用ExceptLinq扩展时返回{C}。相反,我返回了{A,B},如果我在表达式中翻转列表,结果是{A,B,C}。我是不是误解了Except的意思?是否有其他我没有使用的扩展程序?我已经浏览并尝试了很多关于这个问题的不同帖子,但到目前为止都没有成功。varexcept=List1.Except(List2);//ThisisthelineIhavethusfar编辑:是的,我正在比较简单的对象。我从未使用过IEqualityComparer,了解它很有趣。感谢大家的帮助。问题是没有实现比较器。链接的博客文章和