这两天一直在研究MVC中使用LINQ TO SQL实现多表查询及分页功能,参照之前的LINQ项目和网上资料,基本实现了两个表查询及分页功能,总结下思路:
假设数据库(SqlServer2005)中有两个表 student学生表和stujz家长表,两个表的对应关系是student.id自增等于stujz.stuid,表结果如下:
student
Stujz
一、添加Linq To Sql数据源
①在MVC项目中的Models夹上右击“添加”à“新建项”à选择定义模型名称后à点确定。本例定义名称StudentsDb.dbml。
②从服务器资源管理器中将student表和stujz表拖放的StudentsDb.dbml中。
二、添加页面返回数据模型
这一步添加的数据模型是用于返回页面时需要的数据结构,也就是Sql查询语句中Select后面的字段。根据需要,定义数据模型。
在项目名称上右击à“添加”à“新建文件夹”,定义为ResultModel,在文件夹中添加类,定义为ResultStudentsList.cs
代码如下:
public class ResultStudentsList
{
public ResultStudentsList()
{
_id = -1;
_stuname = "";
_stusex = "";
_stunl = -1;
_jzname = "";
_jzphone = "";
}
public int _id;
public string _stuname;
public string _stusex;
public int _stunl;
public string _jzname;
public string _jzphone;
//学生id
public int Id
{
get { return _id; }
set { _id = value; }
}
//学生姓名
public string stuname
{
get { return _stuname; }
set { _stuname = value; }
}
//学生性别
public string stusex
{
get { return _stusex; }
set { _stusex = value; }
}
//学生年龄
public int stunl
{
get { return _stunl; }
set { _stunl = value; }
}
//家长姓名
public string jzname
{
get { return _jzname; }
set { _jzname = value; }
}
//家长电话
public string jzphone
{