linq查询转化为查询表达式
现有表department,外键MatchID,表Team,外键DepID,表Player外键TeamID,要求以MatchID为参数查询Team,和Player,在下列查询中如何写
public IQueryable<Team> loadSearchData(TeamQuery team)
{
//知道DepID
if (DepID> 0)
{
temp = temp.Where<Team>(u => u.DepID== DepID);
}
if(MatchID>0){
//linq写法为
// from s in departmentwhere s.MatchID==MatchID
// from t in Team where t.DepID==s.DepID
// select t
//这儿如何写?依据MatchID查询department,依据查询出来的department表的DepID来查询得到Team表
temp = temp.Where<Team>(u=> 如何写 )
}
}
第二问:
依据MatchID查询department,依据查询出来的department表的DepID来查询得到Team表,依据查询出来的Team表的TeamID来查询Player
//linq写法为
// from s in departmentwhere s.MatchID==MatchID
// from t in Team where t.DepID==s.DepID
// from p in Player where p.TeamID==t.TeamID
// select p
//这儿如何写?
temp = temp.Where<Player>(u=> 如何写 )
}
}
public IQueryable<Team> loadSearchData(TeamQuery team)
{
//知道DepID
if (DepID> 0)
{
temp = temp.Where<Team>(u => u.DepID== DepID);
}
if(MatchID>0){
//linq写法为
// from s in departmentwhere s.MatchID==MatchID
// from t in Team where t.DepID==s.DepID
// select t
//这儿如何写?依据MatchID查询department,依据查询出来的department表的DepID来查询得到Team表
temp = temp.Where<Team>(u=> 如何写 )
}
}
第二问:
依据MatchID查询department,依据查询出来的department表的DepID来查询得到Team表,依据查询出来的Team表的TeamID来查询Player
//linq写法为
// from s in departmentwhere s.MatchID==MatchID
// from t in Team where t.DepID==s.DepID
// from p in Player where p.TeamID==t.TeamID
// select p
//这儿如何写?
temp = temp.Where<Player>(u=> 如何写 )
}
}
...全文
相关推荐
LINQ教程 轻松让你学会linq语言
**与其他技术的结合** - LINQ to SQL:允许开发者使用LINQ直接与SQL Server数据库进行交互,将SQL语句转化为C#查询表达式。
C#与LINQ的绝妙结合:解锁查询表达式的无限潜能
LINQ是微软为.NET平台设计的一种通用查询机制,它允许开发者使用类似SQL的语法直接在代码内部对集合对象进行筛选、排序、分组等操作。无论是内存中的列表、数据库记录还是XML文档,只要实现了IEnumerable或IQueryable接口的数据源,都可以成为LINQ查询的目标。
C# 3.0 锐利体验系列课程(5):查询表达式LINQ
当使用查询表达式时,这些方法会被编译器转化为相应的迭代逻辑。
linq的初步学习文档
一、LINQ简介LINQ提供了一种统一的查询语法,无论数据源是数据库、XML、数组还是集合,都可以使用相同的查询表达式进行处理。这种语法简洁且直观,极大地提高了代码的可读性和维护性。
LINQ操作数据库
查询表达式是一种新的语法结构,它看起来很像SQL查询,但实际上是编译时的语法糖,会被编译器转化为方法调用。这种语法使得程序员可以更自然地表达数据查询,而无需了解底层的数据访问细节。


LINQ
