语言集成查询(LINQ)是一种Microsoft .NET Framework组件,它为.NET语言添加了本机数据查询功能。请在适当时考虑使用更详细的标签,例如[linq-to-sql],[linq-to-entities] / [entity-framework]或[plinq]
我正在使用 LINQ 搜索我的一个实体框架表,并根据名称找到一个“组”。该名称是一个字符串,并且似乎是 Unicode(表示它在 edmx 中)。我有一个方法Ge...
我有一个返回列表的 Linq 查询,结果如下所示: protected void Page_Load(对象发送者,EventArgs e) { var MyList = GetPatientsFromDB(TheUserID); } 该列表是 M 类型...
我有一个表单,我正在将其序列化为 json 对象,如下所示: 水果:苹果、 StrawberryParam:“测试”, 苹果参数:1, 桃子参数:3, 车系: 保时捷 布加迪参数:3, 保时捷参数:...
我正在尝试使用 asp.net web Api 中的 LINQ 根据主键 EmpId(EmpId 也是表 Salary 的外键)从 Employee 表中删除一条记录。但我收到错误...
我编写了一个扩展方法,以便更轻松地在 EF 8 (.NET 8) 中添加多列索引,如下所示: 公共静态 IndexBuilder HasIndexUnique ( 这个
我需要根据键的子集从字典中选择多个值(放入列表中)。 我正在尝试使用 Linq 在一行代码中完成此操作,但到目前为止我发现的内容似乎相当低...
C#中通过System.Linq获取元素的属性Name和Value
我有一个自定义配置文件。 我有一个自定义配置文件。 <Students> <student> <Detail Name="abc" Class="1st Year"> <add key="Main" value="web"/> <add key="Optional" value="database"/> </Detail> </student> </Students> 我通过IConfigurationHandler接口实现来读取这个文件。 当我读取 Detail 元素的 childNode 属性时。它将以下结果返回到 IDE 的立即窗口中。 elem.Attributes.ToObjectArray() {object[2]} [0]: {Attribute, Name="key", Value="Main"} [1]: {Attribute, Name="value", Value="web"} 当我尝试在控制台上书写时 Console.WriteLine("Value '{0}'",elem.Attributes.ToObjectArray()); 它确实让我回归 Value : 'System.Configuration.ConfigXmlAttribute' elem.Attributes.Item(1)方法为我提供了名称和值详细信息,但在这里我需要传递我当前不知道的属性的索引值。 我想通过LINQ查询获取属性的名称和值,并在控制台上单独显示每个childNode属性,如下所示: Value : Name="Key" and Value="Main" Name="value", Value="web" 我怎样才能实现这一目标? 如果您想使用此Xml库,您可以使用以下代码获取所有学生及其详细信息: XElement root = XElement.Load(file); // or .Parse(string) var students = root.Elements("student").Select(s => new { Name = s.Get("Detail/Name", string.Empty), Class = s.Get("Detail/Class", string.Empty), Items = s.GetElements("Detail/add").Select(add => new { Key = add.Get("key", string.Empty), Value = add.Get("value", string.Empty) }).ToArray() }).ToArray(); 然后要迭代它们,请使用: foreach(var student in students) { Console.WriteLine(string.Format("{0}: {1}", student.Name, student.Class)); foreach(var item in student.Items) Console.WriteLine(string.Format(" Key: {0}, Value: {1}", item.Key, item.Value)); } 您可以使用 Linq Select 和 string.Join 来获得您想要的输出。 string.Join(Environment.NewLine, elem.Attributes.ToObjectArray() .Select(a => "Name=" + a.Name + ", Value=" + a.Value) ) 这将获取您在问题中所述的 Detail 元素的子元素的所有属性。 XDocument x = XDocument.Parse("<Students> <student> <Detail Name=\"abc\" Class=\"1st Year\"> <add key=\"Main\" value=\"web\"/> <add key=\"Optional\" value=\"database\"/> </Detail> </student> </Students>"); var attributes = x.Descendants("Detail") .Elements() .Attributes() .Select(d => new { Name = d.Name, Value = d.Value }).ToArray(); foreach (var attribute in attributes) { Console.WriteLine(string.Format("Name={0}, Value={1}", attribute.Name, attribute.Value)); } 如果您在 object[] 中具有 Attributes,如您所写,可以通过 来嘲笑 var Attributes = new object[]{ new {Name="key", Value="Main"}, new {Name="value", Value="web"} }; 那么问题是你有匿名类型,其名称无法轻易提取。 看一下这段代码(您可以将其粘贴到 LinqPad 编辑器窗口的 main() 方法中来执行): var linq=from a in Attributes let s = string.Join(",",a).TrimStart('{').TrimEnd('}').Split(',') select new { Value = s[0].Split('=')[1].Trim(), Name = s[1].Split('=')[1].Trim() }; //linq.Dump(); 由于您无法访问 object[] 数组内变量 Attributes 的 Name 和 Value 属性,因为编译器对您隐藏了它们,因此技巧是使用 Join(",", a)绕过这个限制的方法。 之后您需要做的就是trim和split生成的字符串,最后创建一个具有Value和Name属性的新对象。 如果您取消注释 LinqPad 中的 linq.Dump(); 行,您可以尝试一下 - 它会返回您想要的内容,并且还可以通过 Linq 语句进行查询。
LINQ 运算符“==”不能应用于“char”和“string”类型的操作数
我过去几乎没有使用过LINQ。今天,当我尝试使用 LinqPad 编写一个小 LINQ 查询时,出现以下错误: 运算符“==”不能应用于“char”和“st...”类型的操作数
嗨,我有一个包含以下字段的数据表 DAT_START 分组 TXT_纬度 TXT_经度 INT_DIRECTION INT_CALL_DATA_TYPE 液化天然气_持续时间 以下是我正在使用的 LINQ 查询 var 数据=(来自...
如何在 xUnit 中使用条件逻辑模拟异步 LINQ 查询?
我正在为服务编写单元测试,并且需要模拟更复杂的 LINQ 查询,其中包括条件逻辑和异步方法,例如 FirstOrDefaultAsync()。 查询涉及se...
每个地址记录的 CustomerResponse 都是重复的
我有以下疑问: var query = 来自 _unitOfWork.customerRepository.All() 中的客户 在 customer.adressNo 等于 adresses.adr 上加入 _unitOfWork.AdresRepository.All() 中的地址...
Microsoft Entity Framework 和 C# 中 DbSet 的自定义 LINQWhere 子句处理
我正在使用 Microsoft Entity Framework。考虑以下示例代码: 公开课人士 { 公共 int Id { 得到;放;} 公共字符串名称{获取;放;} 公共字符串 DisplayNam...
Linq-to-SQL:每个地址记录的 CustomerResponse 都是重复的
我有以下疑问: var query = 来自 _unitOfWork.customerRepository.All() 中的客户 在 customer.adressNo 等于 adresses.adr 上加入 _unitOfWork.AdresRepository.All() 中的地址...
LING TO SQL:每个地址记录的 CustomerResponse 都是重复的
我有以下疑问: var query = 来自 _unitOfWork.customerRepository.All() 中的客户 在 customer.adressNo 等于 adresses.adre 上加入 _unitOfWork.AdresRepository.All() 中的地址...
使用 VB.net Framework 4.8 我可以在类的所有属性中搜索给定值吗?如果有任何属性匹配,则返回该值
我说过我有这门课 公开课人物 公共财产 kids 作为列表(字符串) 公共属性首先作为字符串 公共属性最后作为字符串 公共财产年龄为...
如何在 linq 中使用 Contains in where 子句
我有这个: var myResult = uow.GetRepository() .Query(x => x.CustomerId == customerId && x.SquareColor == squareColor) .
我有一堂课,如下所示: 公开课学生 { 公共 int Stuid {得到;放;} 公共字符串名称{get;放;} 公共 int 年龄 {get;放;} ...
在 Roslyn CP2 中包含 System.Linq 时出现 CompilationErrorException
我已经下载了Roslyn CTP并遇到了以下错误。执行行session.Execute(@"using System.Linq;");时抛出CompilationErrorException;具有以下信息...
将“System.Collections.Generic.IEnumerable<T>”转换为“System.Collections.ObjectModel.Collection<T>”
我有一个集合,我正在尝试使用 Distinct 方法来删除重复项。 公共静态集合 imagePlaylist imagePlaylist = imagePlaylist.Distinct(new API.MediaInfoCo...
C# 编译器如何处理查询表达式?(Dotnet 3.5、C#3.0)
解决我最喜欢的作者之一的问题 LINQ 最难或最容易被误解的方面是什么?我基本上是在寻找问题的答案: C# 编译器如何处理查询