Tag: linq

为什么Entity Framework无法在LINQ语句中使用ToString()?

这适用于LINQ-to-SQL: var customersTest = from c in db.Customers select new { Id = c.Id, Addresses = from a in db.Addresses where c.Id.ToString() == a.ReferenzId select a }; foreach (var item in customersTest) { Console.WriteLine(item.Id); } 但entity framework中的类似示例会收到一条错误消息 ,表示它无法“将其转换为SQL”,这是德语中的原始错误消息: “’LINQ to Entities’erkennt die Methode’System.String ToString()’nicht,und diese Methode kann nicht in einenSpeicherausdruckübersetztwerden。” 翻译: “’LINQ to Entities’无法识别Method’System.String ToString()’,此方法无法转换为内存表达式。 […]

将分层xml绑定到treeview

我有一个标准的.NET 3.5 winforms项目。 在它上面,它有一个树视图。 我已经使用XmlSerializer和相关类将List实例序列化为XML,以获得分层XML文件。 现在,我需要将此XML文件绑定到树视图以显示其所有节点/元素(父节点,子节点等)。 有没有方便这样做(LINQ与否),而不必解析XML等? 谢谢

List.Except不起作用

我尝试减去2个列表,如下面的代码, assignUsers有3条记录, assignUsers有2行。 在Except方法之后我仍然得到3行,虽然我应该获得1条记录,因为assignedUsers 2行类似于assignUsers var users = accountApp.GetUsersByAccountId(context.GetUserData().AccountId); List assignUsers = Mapper.Map<List>(users).ToList(); var mailUsers = mailApp.GetMailAssignedByMailId(id).Select(m => new { m.UserId, m.User.Name }).ToList(); List assignedUsers = mailUsers.Select(Mapper.DynamicMap).ToList(); assignUsers = assignUsers.Except(assignedUsers).ToList();

使用LINQ和C#的随机数组

我正在阅读MSDN杂志上关于在LINQ中使用Enumerable类生成随机数组的文章。 本文使用VB.NET,我不能立即确定C#中的等价物是什么: Dim rnd As New System.Random() Dim numbers = Enumerable.Range(1, 100). _ OrderBy(Function() rnd.Next)

如何在EntityFramework中按DateTime.Date进行分组

我有一个设备型号: public class DeviceModel { public DateTime Added { get;set; } } 我想选择设备数量,按Added日期( 不是日期和时间,但仅限日期 )分组。 我当前的实现无效,因为linq无法将DateTime.Date转换为sql: var result = ( from device in DevicesRepository.GetAll() group device by new { Date = device.Added.Date } into g select new { Date = g.Key.Date, Count = g.Count() } ).OrderBy(nda => nda.Date); 如何更改此查询以使其工作?

如何在ASP.NET MVC视图中对数据进行分组?

在Crystal Reports等报表工具中,有一些方法可以获取非规范化数据并将其按数据中的特定列分组,从而为指定列中的每个唯一项创建行标题。 如果我有这个: Category1 Data1 Category1 Data2 Category1 Data3 Category2 Data4 Category2 Data5 Category2 Data6 报告软件会将其分组如下: Category1 Data1 Data2 Date3 Category2 Data4 Data5 Data6 有没有办法在ASP.NET MVC视图中执行此操作,可能使用简单的linq短语或linq扩展方法与foreach或嵌套的foreach?

使用Linq从3个集合创建项目

我有3个完全相同的项目集合。 我需要根据这3个集合项值创建一个新集合。 例子: List list1; List list2; List list3; List list4; public class Item { public double Value1{get;set;} public double Value2{get;set;} public double Value3{get;set;} } 我尝试使用Linq实现这一目标。 我试过了 : var query = from pt in list1 from at in list2 from ct in list3 select new Item { Value1 = pt, Value2 = at, Value3 = […]

LINQ to entities – 构建where子句以在多对多关系中测试集合

所以,我正在使用Linqentity framework。 我有2个实体: Content和Tag 。 他们彼此处于多对多的关系中。 Content可以有很多Tags , Tag可以有很多Contents 。 所以我试着写一个查询来选择任何标签名称等于blah所有内容 这些实体都将另一个实体的集合作为属性(但没有ID)。 这是我在努力的地方。 我确实有Contains的自定义表达式(所以,无论谁可以帮助我,你可以假设我可以为一个集合做一个“包含”)。 我得到了这个表达式: http : //forums.microsoft.com/MSDN/ShowPost.aspx?PostID = 2670710&SiteID = 1 编辑1 我最终找到了自己的答案。

C#Linq to SQL:如何表达“CONVERT( AS INT)”?

在MSSQL中,您可以将字符串转换为如下所示的整数: CONVERT(INT, table.column) 是否有Linq to SQL将转换为此的C#表达式? 在C#中,您通常可以使用int.Parse()执行相同操作,但遗憾的是,尝试在Linq查询中使用int.Parse()导致错误: 方法’Int32 Parse(System.String)’没有支持的SQL转换。 Linq to SQL是否会转换为CONVERT(INT, …) ?

linq中的动态表名

我正在尝试使用动态表名执行一些LINQ命令。 例如,而不是: var o = (from x in context.users select x); 我想使用类似的东西: var o = (from x in getTableObjectByName(“users”, context) select x); 或多或少。 这是我到目前为止的代码,它编译和运行: using (MySiteEntities ipe2 = new MySiteEntities()) { var propinfo1 = Type.GetType(“MySiteNamespace.MySiteEntities”).GetProperty(“users”); var propval1 = propinfo1.GetValue(ipe2, null); } 运行,但始终返回零记录。 users表最肯定包含记录,在任何情况下,当我使用上面的第一种方法直接调用它时,我会按预期获得所有记录。 如何修改我的代码以实际记下记录,而不仅仅是空集合? 编辑:我也试过这个: using (MySiteEntities ipe = new MySiteEntities()) { var prop = […]