Tag: linq

c#中不区分大小写的XML解析器

你用XML做的每件事都是区分大小写的,我知道。 但是,现在我发现自己处于一种情况,如果我以某种方式使xml名称/属性识别不敏感,我正在编写的软件会产生更少的错误。 不区分大小写的XPath将是一个神派。 在c#中有一个简单的方法/库吗?

将LINQ添加到我的类中

我想在我的Apple属性列表 (Property List)解析器(二进制,JSON和XML)中添加LINQ支持,这样我就可以像使用System.Xml一样使用SQL之类的查询。 它的工作原理是完全解析文件并将其保存在堆上。 (就像System.Xml一样)。 我一直在谷歌搜索,似乎无法理解它(我得到了很多Using LINQ to SQL Classes页面)。 关于MSDN的指南,我也不明白。 我需要做什么?

entity framework中的LINQ to Entities不支持LINQ表达式节点类型“Invoke”

任何人都可以帮助我解决我的问题。 我使用下面给出的代码: public IEnumerable Getdata(Expression<Func> predicate) { return AccountsContext.InvoiceHeaders.Include(“Company”).Include(“Currency”) .Include(“BusinessPartnerRoleList”).Include(“DocumentType”) .Where(predicate); } ….. 在我的代码中我使用如下 Expression<Func> predicate = PredicateBuilder.True(); predicate = predicate.And(o => o.CompanyId == oInvoiceHeader.CompanyId); List lstInvheader=Getdata(predicate).ToList(); 通过这样做,我得到了例外。 [System.NotSupportedException] — {“LINQ to Entities中不支持LINQ表达式节点类型’Invoke’。”}

在组连接linq查询中将字符串转换为十进制

我必须连接两个表,但只返回第二个表中的那些记录,其中与第一个表中的记录关联的所有记录的“值”总和是相同的。 from p in db.TPs join n in db.TNs on p.Key equals n.Key where (decimal.Parse(p.Value) == db.TNs.Where( nn => nn.Key == p.Key ) .Sum( nn=> decimal.Parse(kk.Value))) 我正在使用Entity Framework Code-First。 当然,Linq抱怨道 LINQ to Entities无法识别方法’System.Decimal Parse(System.String)’方法 表很大,我必须减少输出,因此无法在客户端进行此转换。 列类型转换也不是一种选择。 SQL查询是: select * from TP as p join * from TN as n on n.Key = p.Key where p.Value […]

将XML转换为通用列表

我正在尝试将XML转换为List 2 dummy 12 3 dummy 11 我尝试使用LINQ做了一些事情,并且在进行中并不是那么清楚。 dox.Descendants(“Student”).Select(d=>d.Value).ToList(); 我得到计数​​2,但值就像2dummy12 3dummy11 是否可以将上述XML转换为具有Id,Name和Section Properties的Student类型的通用List? 我可以实现这个的最佳方法是什么?

Linq to Entities Skip()和Take()

我正在开发一个ASP.NET应用程序,我正在创建一个LINQ查询,它将从db中选择分页记录。 在用户界面上我有一个列表框,用户可以在其中选择多个选项。 我想知道: 如何增加Skip(),Take()参数以查看下一个结果? 如何使用“IN”关键字,以便用户从列表框中选择多个选项时,查询是否可以检查所有值? 我的查询如下所示: var searchResults = context.data_vault.Where(d => d.STATE == lstStates.SelectedItem.Text).OrderBy(d= > d.dv_id).Take(10).Skip(2); GridView1.DataSource = searchResults; GridView1.DataBind();

处理’序列没有元素’例外

我正在更新我的购物车中的数量,但它正在抛出一个序列没有元素的例外。 我不知道这甚至意味着什么。 起初我以为可能在某处传递了空值,但事实并非如此,因为我已经检查过: Sequence不包含任何元素描述:在执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。 exception详细信息:System.InvalidOperationException:Sequence不包含任何元素 来源错误: 第35行:var uid = WebSecurity.CurrentUserId; 第36行:var newqty = Request.Form [“Quantity”]; 第37行: OModel.Cart c =(来自database.Carts第38行中的项目: 其中item.UserId == uid && item.PartNumber == pnumber && item.OrderId == oid第39行:选择项目。)first(); 可能导致这种情况的任何想法?

LINQ不能使用string.contains?

这是我的代码: string queryString = “Marco”.ToLower(); utenti = db.User.Where(p => queryString.Contains(p.Nickname.ToLower()) || queryString.Contains(p.Nome.ToLower()) || queryString.Contains(p.Cognome.ToLower())).ToList(); 但我得到: String.Contains方法仅支持可在客户端上计算的参数。 为什么? 我不能用.Contains() ?

如何在运行时在IEnumerable 上创建动态多属性Select?

我昨天问了一个非常相似的问题 ,但直到今天我才意识到我接受的答案并没有解决我所有的问题。 我有以下代码: public Expression<Func> SelectExpression(string fieldName) { var param = Expression.Parameter(typeof(TItem), “item”); var field = Expression.Property(param, fieldName); return Expression.Lambda<Func>(field, new ParameterExpression[] { param }); } 使用如下: string primaryKey = _map.GetPrimaryKeys(typeof(TOriginator)).Single(); var primaryKeyExpression = SelectExpression(primaryKey); var primaryKeyResults = query.Select(primaryKeyExpression).ToList(); 这允许我从IQueryable提取主键。 问题是这段代码只适用于一个主键,我需要添加对多个PK的支持。 那么,有什么方法可以调整上面的SelectExpression方法来获取IEnumerable (这是我的主键属性名列表)并让方法返回一个选择这些键的表达式? 即给出以下内容: var knownRuntimePrimaryKeys = new string[] { “CustomerId”, “OrderId” }` 我的选择需要执行以下操作(在运行时): var […]

LINQ to Entities无法识别方法’System.String StringConvert(System.Nullable`1 )

我无法弄清楚为什么我会收到这个错误。 我已经使用此function与以前版本的Entity Framework成功使用,但我使用EF6设置了一个新项目并且它没有合作。 using System.Data; using System.Data.Objects.SqlClient; e.Result = from n in MyDB.tblBulletins where n.AnncStart DateTime.Now && n.Approved == true orderby n.AnncStart descending, n.AnncDate descending select new { n.RecID, AnncTitle = n.AnncTitle + ” “, AnncText = (n.AnncImg == null ? n.AnncText : “” + n.AnncText), Email = (n.Email == null ? “” : “” […]