天天看点

ASP EF框架,部分列查询。linq表达式和lamb表达式两种方式实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication1
{
    public partial class WebForm3 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        //一、linq表达式,部分查询(不是查询所有列)
        protected void Button1_Click(object sender, EventArgs e)
        {
            EFFristModelEntities db = new EFFristModelEntities();//数据库操作类,上下文类。
            var userInfoList = from u in db.UserInfo
                               where u.ID == 343
                               select new { UName = u.UserName, UPwd = u.UserPass };  //查询部分列,匿名类。并不是UserInfo类型。select u;表示查询全部列,此时userInfo是UserInfo类型。
            //var userInfoList=db.UserInfo.Where(u => u.ID>0).Select(u => new { UName = u.UserName, UPwd = u.UserPass }); 
            foreach (var userInfo in userInfoList)  //userInfo并不是UserInfo类型。
            {
                Response.Write(userInfo.UName + ":" + userInfo.UPwd);
            }
        }

        //二、扩展函数和lambda表达式,部分查询(不是查询所有列)
        protected void Button2_Click(object sender, EventArgs e)
        {
            EFFristModelEntities db = new EFFristModelEntities();//数据库操作类,上下文类。
            var userInfoList = db.UserInfo.Where(u => u.ID>0).Select(u => new { UName = u.UserName, UPwd = u.UserPass }); //查询部分列,匿名类。并不是UserInfo类型。select u;表示查询全部列,此时userInfo是UserInfo类型。
            foreach (var userInfo in userInfoList)  //userInfo并不是UserInfo类型。
            {
                Response.Write(userInfo.UName + ":" + userInfo.UPwd);
            }
        }
    }
}