Tag: linq

由Entity Framework DbContext执行的日志查询

我在MVC 5项目中使用EF 6.0和LINQ。 我想记录Entity Framework DbContext执行的所有SQL查询,以进行调试/性能测量。 在Java / Hibernate中,可以通过设置属性hibernate.show_sql=true来实现等效行为。 是否有可能在entity framework中有类似的行为?

在LINQ中选择JOIN后的所有列

我有两个表, Table1和Table2 。 我想执行一个左外连接: var myOutput = from object1 in Table1 join object2 in Table2 on object1.Property1 equals object2.Property2 into Table3 from output in Table3.DefaultIfEmpty() select new { object1.Property1, object1.Property2, //… output.Property3, output.Property4, //… }; 您可以注意到,我想从结果表中选择两个对象的所有属性(连接时考虑的可用对象包含某些类型的对象 – 这两种关系的对象都不同)。 当然,我可以在匿名选择中选择属性,如示例所示。 我的问题是如何避免手动指定所有属性? 我希望有类似SELECT * FROM TABLE3东西,其中TABLE3是结果关系(在连接TABLE1和TABLE2 )。 提前感谢您的线索。

使用LINQ生成排列

我有一套必须安排的产品。 有P个产品,每个产品从1到P索引。每个产品可以安排到0到T的时间段。我需要构建满足以下约束的产品计划的所有排列: If p1.Index > p2.Index then p1.Schedule >= p2.Schedule. 我正在努力构建迭代器。 当产品数量是已知常量时,我​​知道如何通过LINQ执行此操作,但是当产品数量是输入参数时,我不确定如何生成此查询。 理想情况下,我想使用yield语法来构造此迭代器。 public class PotentialSchedule() { public PotentialSchedule(int[] schedulePermutation) { _schedulePermutation = schedulePermutation; } private readonly int[] _schedulePermutation; } private int _numberProducts = …; public IEnumerator GetEnumerator() { int[] permutation = new int[_numberProducts]; //Generate all permutation combinations here — how? yield return new PotentialSchedule(permutation); […]

在C#中将DataTable转换为通用列表

免责声明:我知道它在SO的很多地方被问过。 我的查询有点不同。 编码语言:C#3.5 我有一个名为cardsTable的DataTable从DB中提取数据,我有一个类卡,它只有一些属性(没有构造函数) public class Cards { public Int64 CardID { get; set; } public string CardName { get; set; } public Int64 ProjectID { get; set; } public Double CardWidth { get; set; } public Double CardHeight { get; set; } public string Orientation { get; set; } public string BackgroundImage { get; […]

LINQ找到一系列连续数字

我有一个整数列表。 我想在该列表中找到所有连续数字的运行,由起始索引和长度定义。 因此,例如,对于[1,2,3,5,7,8]输入列表,输出将是[{1,3}, {5,1}, {7,2}] 。 这很容易使用循环,像这样(未经测试的伪代码): for(i=1, i < maxNum; i++) { number = list[i]; previousNumber = list[i-1]; if(number – previousNumber == 1) { runLength++; } else { result.Add(startingNumber, runLength); runLength = 1; startingNumber = number; } } 但我认为可以使用LINQ。 任何想法如何做到这一点?

将模型导出到DataTable

我想将我的Model数据转换为DataSet或DataTable (以excel格式导出) db.EMPs.ToList() db是DataContext , EMPs是dataclass 。 如何将此列表导出到DataTable ,我可以将行导出到excel但是如何从标题中访问列名(不应在DataTable手动添加列名)

递归LINQ查询:选择项目和所有子项的子项

有没有办法编写LINQ(或程序样式)查询,可以选择一个项目和一个查询的所有子项? 我有实体: public class Comment { public int Id {get;set;} public int ParentId {get;set;} public int Text {get;set;} } 我有一个ID,所以我想选择带ID的评论及其所有孩子和子女。 例: 1 -2 –3 -4 -5 –6 2 3 如果ID == 1,那么我想要1,2,3,4,5,6的列表。

如何在JOIN扩展方法中实现左连接

我试图在p.Person表的这种查询上实现外连接。 我该怎么办? 此示例来自http://ashishware.com/DSLinqExample.shtml var onlyinfo = p.Person .Where(n => n.FirstName.Contains(‘a’)) .Join(p.PersonInfo, n => n.PersonId, m => m.PersonId, (n, m) => m) .ToArray();

不支持直接绑定到商店查询(DbSet,DbQuery,DbSqlQuery)的数据

我在visual studio 2012上编码并使用实体模型作为我的数据层。 但是,使用Linq语句的下拉控件往往会在页面尝试加载时抛出未处理的exception(上面标题)。 这是我的代码如下; using (AdventureWorksEntities dw = new AdventureWorksEntities()) { ddlCon.DataSource = (from em in dw.Employees select new { em.Title, em.EmployeeID }); ddlCon.DataTextField = “Title”; ddlCon.DataValueField = “EmployeeID”; ddlCon.DataBind(); ddlCon.Items.Insert(0, new ListItem(“–Select–“, “–Select–“)); } 我想知道为什么会发生错误 使用LINQ时绑定到控件的正确方法是什么?

如何在foreach循环中对迭代的元素进行分段

我需要遍历整个用户列表,但需要一次抓取20个。 foreach (var student in Class.Students.Take(20)) { Console.WriteLine(“You belong to Group ” + groupNumber); groupNumber++; } 这样,前20个将属于组1,第二个20属于组2,依此类推。 采取正确的语法吗? 我相信Take将花费20来完成。 谢谢!