Tag: linq

Gridview使用通用列表作为DataSource和自动生成列

我正在寻找一个带有通用列表的GridView,并自动生成列。 我得到一个例外,它没有正确的属性来允许它自动生成列。 例外 The data source for GridView with id ‘GV1’ did not have any properties or attributes from which to generate columns. Ensure that your data source has content. 网格视图 页面加载 //LINQ query to populate list List su = new List(); dbDataContext db = new dbDataContext(); var q = from c in db.data_table where […]

如何在linq中包含()嵌套的子实体

我如何包括孩子的孩子? 即,乔布斯有引用具有QuoteItems var job = db.Jobs .Where(x => x.JobID == id) .Include(x => x.Quotes) .Include(x => x.Quotes.QuoteItems) // This doesn’t work .SingleOrDefault(); 只是为了更清楚 – 我正在尝试检索单个作业项目,并且它是关联的报价(一对多)和每个报价相关的QuoteItems(一个报价可以有许多QuoteItems) 我问的原因是因为在我的报价索引视图中,我试图通过SUMming小计显示每个报价的所有报价项目的总和,但是它出现为0.我正在调用这样的小计: @item.QuoteItem.Sum(p => p.Subtotal) 我相信我遇到这个问题的原因是我上面的Linq查询没有检索每个Quote的相关QuoteItems。

LINQ to SQL – 如何有效地对多个条件进行AND或OR搜索

我有一个ASP.NET MVC站点(使用Linq To Sql进行ORM)以及客户想要针对定制数据库的搜索工具,他们可以选择进行“AND”搜索(所有条件匹配)或’OR’搜索(任何标准匹配)。 查询非常复杂且冗长,我想知道是否有一种简单的方法可以使它同时完成,而无需创建和维护两个不同版本的查询。 例如,当前的“AND”搜索看起来像这样(但这是一个非常简化的版本): private IQueryable GetSampleSearchQuery(SamplesCriteria criteria) { var results = from r in Table where (r.Id == criteria.SampleId) && (r.Status.SampleStatusId == criteria.SampleStatusId) && (r.Job.JobNumber.StartsWith(criteria.JobNumber)) && (r.Description.Contains(criteria.Description)) select r; } 我可以复制它并用||替换&& 运营商要获得“OR”版本,但感觉必须有更好的方法来实现这一目标。 有没有人有任何建议如何以一种易于维护的高效灵活的方式实现这一目标? 谢谢。

OfType ()如何工作?

OfType()如何工作? 我读了这个链接,了解发生了什么,但LINQ提供程序究竟如何知道如何获得与指定类型匹配的所有对象。 我知道IQueryable “链接”请求,然后在调用GetEnumerator()时评估(对吗?)。 具体来说,我想知道框架如何快速进行类型比较? 我在.NET 2.0项目中编写了一个类似的方法(因为2.0不支持这些function): public IEnumerable OfType() where TResult : class { foreach (TItem item in this.InnerList) { TResult matchItem = item as TResult; if (matchItem != null) { yield return matchItem; } } } 这是最好的实施吗? 编辑:我对这个OfType()主要关注是它很快 。

使用LINQ解析XML以获取子元素

public class Employee { public string EmployeeName { get; set; } public string DeptId { get; set; } public List RegionList {get; set;} } public class Region { public string RegionName { get; set; } public string AreaCode { get; set; } } 我试图读取这个XML数据,到目前为止我已经尝试过: XDocument xml = XDocument.Load(@”C:\data.xml”); var xElement = xml.Element(“CompanyInfo”); if (xElement != […]

如何从Entity Framework / LINQ中的特定表中提取元组列表?

我需要从带有Entity Framework的C#.NET中的大表中提取一对’ID’/’Name’的列表。 我试试这个请求: List<Tuple> list = (from res in db.Resource select new Tuple(res.Resource_ID, res.Name)).ToList(); 但不幸的是我有这个错误: LINQ to Entities中仅支持无参数构造函数和初始值设定项。 我不知道如何用这个框架提取这个元组列表,我觉得这个错误有点丢失。 你能帮我理解和解决我的问题吗? 最好的祝福, 亚历克斯

LINQ – 向结果添加属性

有没有办法将属性添加到除以下内容之外的Linq查询结果的对象? var query = from x in db.Courses select new { x.OldProperty1, x.OldProperty2, x.OldProperty3, NewProperty = true }; 我想这样做而不列出我对象的所有当前属性。 有许多属性,我不想在我改变课程时更新此代码。 我还在学习LINQ,感谢您的建议。

如何在LINQ中实现具有良好调用语法的NotOfType ?

我正在尝试为NotOfType提供一个实现,它具有可读的调用语法。 NotOfType应该是NotOfType OfType的补充,因此将产生不属于T类型的所有元素 我的目标是实现一个像OfType一样调用的方法,就像在这个片段的最后一行一样: public abstract class Animal {} public class Monkey : Animal {} public class Giraffe : Animal {} public class Lion : Animal {} var monkey = new Monkey(); var giraffe = new Giraffe(); var lion = new Lion(); IEnumerable animals = new Animal[] { monkey, giraffe, lion }; IEnumerable fewerAnimals = […]

如何使这个LINQ搜索方法处理两个以上的术语?

以下搜索方法适用于最多两个术语。 如何使其动态化以便能够处理任意数量的搜索条件? using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace TestContains82343 { class Program { static void Main(string[] args) { List tasks = new List(); tasks.Add(“Add contract to Customer.”); tasks.Add(“New contract for customer.”); tasks.Add(“Create new contract.”); tasks.Add(“Go through the old contracts.”); tasks.Add(“Attach files to customers.”); var filteredTasks = SearchListWithSearchPhrase(tasks, “contract customer”); filteredTasks.ForEach(t => Console.WriteLine(t)); […]

将连续日期组合到范围中

我有一个对象列表 public class sample { public DateTime Date; public string content; } 我希望能够创建一个新对象列表 public class sampleWithIntervals { public DateTime startDate; public DateTime endDate; public string content; } 应根据内容将样本对象分组为间隔。 间隔可以仅包括原始样本列表中包含的那些日期。 我不知道如何在Linq做到这一点。 样本数据: {“10/1/2013”, “x”} {“10/2/2013”, “x”} {“10/2/2013”, “y”} {“10/3/2013”, “x”} {“10/3/2013”, “y”} {“10/10/2013”, “x”} {“10/11/2013”, “x”} {“10/15/2013”, “y”} {“10/16/2013”, “y”} {“10/20/2013”, “y”} This should give me […]