一.引用命名空间
为眉山等地区用户提供了全套网页设计制作服务,及眉山网站建设行业解决方案。主营业务为成都网站建设、成都做网站、眉山网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
System.Data.Linq
System.Data.Linq.Mapping (需要在项目中先引用System.Data.Linq)
二.为数据库表创建实体类
Table(Name="Employees")] |
常用的属性声明,可以很好的描述表中字段的属性:
Name: 字段的名称
DbType: 字段的数据类型
IsDbGenerated: 是否自动生成
CanBeNull: 字段是否为空
Storage: 保存数据的类字段名
三.创建一个强类型的数据环境
我们的数据库系统可能会和多种类型的数据源打交道,所以应该使我们的程序有和数据源进行创建连接的能力。这里我们将创建的NorthwindDb类继承DataContext基类。DataContext类表示LINQ to SQL 框架的主入口点。
其中有相关的处理LINQ to SQL的类,方法等。
public class NorthwindDb:DataContext |
四.创建Web From
首先为GridView绑定数据
private void BindGridView(string criteria)
{
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
IEnumerable results;
if (criteria == string.Empty)
{
results=db.Employee.ToArray();
}
else
{
results = (from c in db.Employee
where c.FirstName.Contains(criteria)
select c).ToArray();
}
GridView1.DataSource = results;
GridView1.DataBind();
}
搜索按钮只需将参数传进去即可BindGridView(TextBox1.Text);
如果选中了GridView中的某一行,则需要将选中的数据绑定到DetailsView 中进行编辑使用。
private void BindDetailsView()
{
int employeeID = (int)GridView1.SelectedValue;
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
var results = from emp in db.Employee
where emp.EmployeeID == employeeID
select emp;
DetailsView1.DataSource = results;
DetailsView1.DataBind();
}protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
{
GridView1.SelectedIndex = e.NewSelectedIndex;
}
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int employeeID = (int)GridView1.SelectedValue;
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
BindDetailsView();
}
接下来就是对数据的增删改操作:
protected void DetailsView1_ItemUpdating(object sender, DetailsViewUpdateEventArgs e)
{
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
var results = from emp in db.Employee
where emp.EmployeeID == (int)DetailsView1.SelectedValue
select emp;
results.First().FirstName = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text;
results.First().LastName = ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text;
db.SubmitChanges();
BindGridView(string.Empty);
}
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
Employee emp = new Employee();
emp.FirstName = ((TextBox)DetailsView1.Rows[1].Cells[1].Controls[0]).Text;
emp.LastName= ((TextBox)DetailsView1.Rows[2].Cells[1].Controls[0]).Text;
db.Employee.InsertOnSubmit(emp);
db.SubmitChanges();
BindGridView(string.Empty);
}
protected void DetailsView1_ItemDeleting(object sender, DetailsViewDeleteEventArgs e)
{
string strConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
NorthwindDb db = new NorthwindDb(strConn);
var results = db.Employee.Single(emp => emp.EmployeeID==(int)DetailsView1.SelectedValue);
db.Employee.DeleteOnSubmit(results);
db.SubmitChanges();
BindGridView(string.Empty);
}
更新和添加的操作差不多,只是作了些小的改动。
ok,这就是在ASP.NET中利用LINQ对数据的操作。
网站标题:详解在ASP.NET中用LINQ实现数据处理
本文链接:http://www.shufengxianlan.com/qtweb/news42/67542.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联