我正在编写一个LINQ to SQL语句,我正在使用ONC#中的子句进行普通内连接的标准语法.
如何在LINQ to SQL中表示以下内容:
select DealerContact.*
from Dealer
inner join DealerContact on Dealer.DealerID = DealerContact.DealerID
Run Code Online (Sandbox Code Playgroud) 我试图压扁这样的嵌套对象:
public class Book
{
public string Name { get; set; }
public IList<Chapter> Chapters { get; set; }
}
public class Chapter
{
public string Name { get; set; }
public IList<Page> Pages { get; set; }
}
public class Page
{
public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
让我举个例子.这是我的数据
Book: Pro Linq
{
Chapter 1: Hello Linq
{
Page 1,
Page 2,
Page 3
},
Chapter 2: C# Language enhancements
{
Page 4
},
}
Run Code Online (Sandbox Code Playgroud)
我要找的结果如下:
"Pro …Run Code Online (Sandbox Code Playgroud) NHibernate渴望加载可以使用Fetch和完成FetchMany,如在Mike Hadlow博客上的NHibernate Linq Eager Fetching中所述.
这两种方法有什么区别,在什么情况下都会使用?
在我的存储库实现中,我可以使用lambda表达式运行以下查询:
public IList<User> GetUsersFromCountry(string)
{
return _UserRepository.Where(x => x.Country == "Sweden").ToList();
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,这么好,简单的东西.但是,我在编写嵌套 - >嵌套列表的lambda表达式时遇到了困难.给出以下示例(抱歉无法想到更好的一个):
以下查询绝对正常,并返回所有俱乐部,其成员年龄超过45岁
public IList<Clubs> GetGoldMembers()
{
var clubs = from c in ClubRepository
from m in c.Memberships
where m.User.Age > 45
select c;
return clubs;
}
Run Code Online (Sandbox Code Playgroud)
目前,这是我对lambda表达的知识结束的地方.
我如何使用lambda表达式对ClubRepository编写上述查询,类似于上面的示例?
我有一个数字列表,我需要使用LINQ查询创建列表中数字的每个可能的唯一组合,不重复.因此,举例来说,如果我有{ 1, 2, 3 },组合将是1-2,1-3和2-3.
我目前使用两个for循环,如下所示:
for (int i = 0; i < slotIds.Count; i++)
{
for (int j = i + 1; j < slotIds.Count; j++)
{
ExpressionInfo info1 = _expressions[i];
ExpressionInfo info2 = _expressions[j];
// etc...
}
}
Run Code Online (Sandbox Code Playgroud)
是否可以将这两个for循环转换为LINQ?
谢谢.
我已经在select上阅读了很多站点/线程,并在LINQ中选择了很多但仍然不太明白.
select是否返回集合中的一个元素并选择多个展平集合(例如List>())?
谢谢
我有一个这样的课程:
public class MailMessage
{
public string From {get; set; };
public string To {get; set; };
public ICollection<Attachment> Attachments { get; set; }
}
public class Attachment
{
public string Name {get; set;}
public byte[] Content {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我想获取附件集合中名称以 .pdf 结尾的所有附件。
我尝试了以下方法:
List<MailMessage> list = new List<MailMessage>();
List<attachment> pdfAttachmentsCollection = list.Where(x => x.Attachments
.Where(attachment =>
attachment.Name.EndsWith(".pdf")).Select(y => y.Content));
Run Code Online (Sandbox Code Playgroud)
但是,这不起作用。有什么建议。它给出了错误:
无法将类型“System.Collections.Generic.IEnumerable”隐式转换为“bool”
你好,让我用非常简单的解释向你展示这个问题。
我有这个;
int[] numbers1= { 1, 2, 3 };
Run Code Online (Sandbox Code Playgroud)
我需要这个;
int[] numbers2= { 1,1,1, 2,2,2, 3,3,3 };
Run Code Online (Sandbox Code Playgroud)
我如何复制我的值然后在另一个列表中使用它们?
我想得到Item对象的集合或列表,但我现在得到数组的数组.
Item[][] s = employees.Select(e => e.Orders.Select(o => new Item(e.ID, o.ID)).ToArray()).ToArray();
Run Code Online (Sandbox Code Playgroud)
任何人都可以选择我的解决方案吗?
PS只是LinQ解决方案:)