ExtendCodeTwice code = new ExtendCodeTwice();
private void bind()
{
this.gvCity.DataSource = from cityInfo in code.CityInfos select cityInfo;
this.gvCity.DataBind();
}
protected void btnDeleteMore_Click(object sender, EventArgs e)
{
string s = string.Empty;
for (int i = 0; i < this.gvCity.Rows.Count; i++)
{
CheckBox cbo = (this.gvCity.Rows[i].FindControl("cboCheckOne")) as CheckBox;
if (cbo.Checked == true)
{
s += (this.gvCity.Rows[i].FindControl("lblCityId") as Label).Text + ",";
}
}
//在此处将获取到的要删除的ID拼成的字符串放入Linq中操作
//调用相应的code里面的删除方法进行操作
//删除完成后再对GridView重新绑定
bind();
}
CityInfo表
CityId int;
CityName varchar(25);
CityArea float;
CityPopulation int;
CityDescription varchar(25);
ExtendCodeTwice是我用VS2008命令提示符工具里的sqlmet生成的 此类直接继承了DataContext;
没有采用三层
我将数据绑定在GridView里面 DataKeyName为CityId 然后选择多行数据后,删除按钮的Click事件获取CityId以后 删除这些数据
求高手写一下关于删除多行数据的Linq语句
(1)创建LinqDBDataContext类的实例db。
(2)使用LINQ查询ID列的值大于4的记录,查询结果保存在result变量中。
(3)调用DeleteAllOnSubmit()方法删除result变量中的所有记录。
(4)调用SubmitChanges()方法将上述修改提交到数据库,并实现修改数据的功能。
btnDelete_Click(object sender,EventArgs e)事件和DeleteDataWithLINQ()函数的程序代码如下:
private void DeleteDataWithLINQ()
{ ///创建LinqDB数据库的数据上下文的实例
LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
///查询被删除的数据
var result = from r in db.Role where r.ID > 4
select r;
///删除数据,并提交到数据库中
db.Role.DeleteAllOnSubmit(result);
db.SubmitChanges();
}
protected void btnDelete_Click(object sender,EventArgs e)
{
DeleteDataWithLINQ();ShowData();
}
希望这些可以帮到你!!
没解决,看不懂