当前位置:编程学习 > C#/ASP.NET >>

请教一个LINQ的问题

我用LINQ查询了一个连接的数据库,连接查询后可以查出多条相同的数据,但我现在只想取一条,请问怎么办?


public partial class Search : System.Web.UI.Page
{
    DataClassesDataContext db = new DataClassesDataContext();
    int ArchivesNo = 11755;
    int PENo = 3151;
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            ShowTitle();
        }
    }
    private void ShowTitle()
    {
        var Title = from c in db.GRB
                    join m in db.TJDWB on c.dwbh equals m.dwbh
                    join x in db.GRJGB on c.grbh equals x.grbh                  
                    select new { Name = c.xm, Sex = c.xb, Age = c.nl, Date = x.jcrq, WorkPlace = m.dwmc, ArchNo = c.grbh, PENo = x.grtjbh };
     var Titl = Title.First(m => m.ArchNo == ArchivesNo && m.PENo == m.PENo);        GridView1.DataSource = Titl; ;
        GridView1.DataBind();
              
    }
}

红色的地方报错,说要实现一个ILIST 接口。请问怎么办?? --------------------编程问答-------------------- 可以用 distinct

var Titl = Title。ToList<entity类型>().First(m => m.ArchNo == ArchivesNo && m.PENo == m.PENo); --------------------编程问答-------------------- var Title = (from c in db.GRB
        ....
   select new....).First()
取满足条件的第一条记录  --------------------编程问答-------------------- 谢谢了,我试试。 --------------------编程问答-------------------- 问题解决了,上面说的还是不能完成。不能与GRIDVIEW提供数据。 --------------------编程问答-------------------- 返回第一条是:

var Titl = Title.Where(m => m.ArchNo == ArchivesNo).Take(1);  --------------------编程问答-------------------- 哦,sorry。确切地说是返回第一条数据的集合,而不是返回第一条数据。 --------------------编程问答-------------------- 用FirstOrdefault()

这样还可以防止异常
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,