使用Linq句法查询从两个表查询数据,数据访问用Entity FrameWork,前端显示是ASP.NET WebForm。
表结构很简单:
表:student:ID,姓名,国家ID
country:ID,国家名称
很简单的连接,查询学生信息:ID,姓名,国家名
三种思路:
(1)建立一个视图,这样用Entity Framework(EF)映射视图就可以出现一个学生信息的实体。然后直接Linq查询绑定到WebForm上的GridView
(2)EF连接完数据库,新建一个实体类,
public class StuInfo { public int StuId { get; set; } public string StuName { get; set; } public string Country { get; set; } }
Linq查询:
public List<StuInfo> GetStuInfo() { using (TestEntities context = new TestEntities()) { var query = from c in context.Students join d in context.Countries on c.CountryID equals d.CountryID select new StuInfo { StuId = c.StudentID, Country = d.CountryName, StuName = c.StudentName }; return query.ToList(); } }
页面上的绑定就没什么可说了。
(3)第三种思路没想明白,我不知道,不去新建StuInfo是否可以?直接返回一个匿名类型?
把匿名类型作为GridView的数据源?
研究中。。。。。