请教一个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#