【转】【EF操作】——多表联查的linq操作
本文出处:https://blog.csdn.net/changyinling520/article/details/68935051
四张表t_user,t_grade,t_states,t_charcater的联查,其中viewmodel中是我们需要的字段!
1.ViewModel实体的建立
public class userModel
{
public string userID { get; set; }
public string userName { get; set; }
public string totalMcoin { get; set; }
public string userGrade { get; set; }
public string userStates { get; set; }
public string userLevel { get; set; }
public string statesID { get; set; }
public string gradeID { get; set; }
public string levelID { get; set; }
}
2.linq查询语句
#region + List<t_user> QueryUser 查询所有的用户-常银玲-2017年3月18日14:58:15
/// <summary>
/// 查询所有的用户
/// </summary>
/// <returns>返回所有的用户泛型</returns>
public List<userModel> QueryUser()
{
//定义了上下文实体
excellentmcoinEntities dbcontext = new excellentmcoinEntities();
//实例化viewmodel实体
List<userModel> listUser = new List<userModel>();
//t_user,t_grade,t_states,t_charcater四张表联查,抽取中其中的字段
listUser = (from u in dbcontext.t_user
join g in dbcontext.t_grade on u.gradeID equals g.gradeID
join s in dbcontext.t_states on u.state equals s.statesID
join c in dbcontext.t_character on u.levelID equals c.levelID
select new userModel()
{
userID=u.userID,
userName=u.userName,
userGrade=g.userGrade,
userStates=s.userSates,
userLevel=c.userLevel,
totalMcoin=u.totalMcoin
}).ToList();
return listUser;
}
#endregion
思路很清晰,也比较容易看懂
浙公网安备 33010602011771号