Tag: linq

使用LINQ查询选择具有最大值的List 项

我有List loadRecords,其中T类型定义如下 public class TransformerLoadRecord { public double TotalLoadKva { get; set; } public double TotalLoadKwh { get; set; } public string LoadDate { get; set; } public string LoadTime { get; set; } public long Fid { get; set;} public string UserId { get; set; } public string SessionId { get; set; } public […]

仅在传入值时执行Where条件

我有以下LINQ语句,它在date和LabID 。 我正在传递LABS列表和日期,但是它们不是必需的,我可能只传递一个日期,没有实验室,在这种情况下,我想为该特定实验室的所有实验室获得结果。 这就是我现在拥有的: List lstDatExp = (from l in ctx.dExp.Include(“datLab”) where values.Contains(l.datL.Lab_ID) && l.reportingPeriod == reportingPeriod select l).ToList(); 但如果传入的值不存在则会中断。 如何更改此选项以确保我的where语句都是可选的?

使用Linq将Datatable GroupBy Multiple Columns转换为Sum

我想在Group BY之后总计所有TotalImages列,但是它“显示我错误”。 任何能帮我解决问题的人。 请记住只想使用此语法库并希望DataTable不是List。 如果有人帮助我,请感激不尽。 样本数据:- CountryId | CItyId | TotalImages 1 1 2 1 2 2 1 2 3 1 3 4 2 1 2 2 2 2 2 2 3 2 3 4 DataTable dt = dt.AsEnumerable() .GroupBy(r => new { Col1 = r[“CountryId”], Col2 = r[“CityId”]}) .Select(g => g.Sum(r => r[“TotalImages”]).First()) .CopyToDataTable();

LINQ错误初始化成员声明符无效

我是一个相当初级的C#开发人员,请原谅我,如果这是微不足道的,但我在下面指出的代码行中提出了这个错误“无效的初始化成员声明符”。 有人可以解释这意味着什么,我如何解决/实现这个结果? 我的所有数据注释都已在PODetail中应用一次,这就是为什么我不想在这里重复这些属性。 public class PODetailsListViewModel : IViewModelList, IEntity { public int Id { get; set; } public string EntityDescription { get { return this.Id.ToString(); } } public PODetail PODetail { get; set; } public IEnumerable ConvertClassToViewModel(IEnumerable poDetails) { IEnumerable contactGrid = from l in poDetails.ToList() select new PODetailsListViewModel() { Id = l.Id, PODetail.POHeaderId = […]

查找自定义类型列表的最大计数

我有一个模拟应用程序,其中包括Employee,Manager,President等inheritance链。 Employee类看起来像 class Employee { public int EmployeeId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public DateTime HireDate { get; set; } public Employee() { } } 和Manager类看起来像 class Manager : Employee { private List employeesManaged = new List(); public List EmployeesManaged { get […]

在ASP.NET MVC中跟踪LINQ TO SQL生成的查询

关于LINQ to SQL生成的查询输出的快速问题。 我在ASP.NET MVC项目Visual Studio 2008中,我正在尝试MSDN文档中的建议: MyDataContext _dc = new MyDataContext(); _dc.Log = Console.Out; 但是“输出”窗口(CTRL + Alt + O)上没有显示任何内容。 是否还需要配置其他内容才能使LINQ to SQL将调试信息转储到Visual Studio 2008中的“输出”窗口? 我不知道它是否有任何区别,但我的实体(和MyDataContext类)位于一个单独的类库项目中。

LINQ查询到ObservableCollection?

将LINQ结果转换为ObservableCollection Jon Skeet在这个问题上给出了一个很好的答案,但我仍然不能自己做。 对于课程来说仍然是新手,所以我仍然处于学习阶段。 我已经创建了一个LINQ to SQL类,显然有很多自动生成的代码。 这是添加类时生成的类的片段,与此问题相关。 这显然与名为Staff_Time_TBL的DataBase表相关联。 public partial class Staff_Time_TBL : INotifyPropertyChanging, INotifyPropertyChanged { private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty); private long _ID; private System.Nullable _Date_Data; } 我有一个工作类,它可以将我需要的数据输入到Datagrid中,它从两个日期之间以及具有唯一员工编号的工作人员中提取数据。 这样可以正常工作,但是当直接将数据更新到数据库时,界面中的数据不会更新, 请参阅此问题。 internal class DatabaseQueries { public static IEnumerable MainTable(DatabaseDataContext database, DateTime fromDate, DateTime toDate, int employeeNumber) { return database.Staff_Time_TBLs.Where(staff => staff.Date_Data > […]

Linq到文件系统以获取每个子文件夹中的最后创建的文件

我有一个包含一些子目录的文件夹/目录。 只有那些子文件夹包含文件。 我必须获取每个子文件夹中最后创建的文件的完整路径。 只需要每个子文件夹中最后创建的文件。 我怎样才能做到这一点? 我怎样才能将linq用于文件

使用linq到sql后端通过WCF查询DTO对象

我正在开发一个项目,我们需要针对WCF服务创建复杂的查询。 该服务在后端使用linq to sql并将查询投影到数据传输对象,如下所示: dbContext.GetQueryable() .Where(x => x.Id == formatId) .Select(x => FormatHelper.PopulateMSFormat(x)) .ToList(); 我想要做的是在客户端指定一个查询,假设我想查询具有某个属性或其中几个属性的所有格式。 这个风格的东西: var assets = client.QueryForAssets()。Where(x =>(x.name ==“Test”|| x ==“Arne”)&& x.doe ==“john”); 我知道我无法通过WCF返回IQueryable,但是可以使用OData服务完成类似的事情。 问题是我必须返回DTO和OData让我很容易绑定到L2S-datacontext,它暴露我的数据模型而不是DTO。 那么是否有一种很好的方法可以将针对DTO的查询序列化,从而有效地传播到l2s层? 我想过编写自己的查询语言,但我发现将正确的表达式树构建为l2s的谓词是很困难的,因为没有从DTO到linq类的映射。

如何使用linq更改对象的值

我有以下声明:如果isdefault对此集合是真的,我需要将每个对象的isDefault属性设置为false。 custHead.lstCustomziation.Where(x => x.IsDefaultSelected == true).Select(x=>{x.IsDefaultSelected=false}); lstCustomziation is a collection.