您的位置:首页 > 其它

Entity Framewrok简单练习(linq语句)

2014-05-15 20:13 190 查看
<span style="font-size:18px;">前台代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="EF作业.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
根据用户名查询:<asp:DropDownList ID="DropDownList1" runat="server"></asp:DropDownList><asp:Button ID="Button1" runat="server" Text="查询" OnClick="Button1_Click" />
<br /><br />
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:Button ID="Button3" runat="server" Text="删除" CommandArgument='<%#Eval("UserName") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField HeaderText="编辑" ShowEditButton="True" />

</Columns>
</asp:GridView>

<div id="div" runat="server" visible="true">
<table>
<tr><td>用户名:</td><td>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></td></tr>
<tr><td>密码:</td><td>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox></td></tr>
<tr><td>姓名:</td><td>
<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox></td></tr>
<tr><td>电话:</td><td>
<asp:TextBox ID="TextBox4" runat="server"></asp:TextBox></td></tr>
<tr><td>部门:</td><td>
<asp:DropDownList ID="DropDownList2" runat="server"></asp:DropDownList></td></tr>
<tr><td>性别:</td><td>
<asp:RadioButton ID="RadioButton1" runat="server" Text="男" GroupName="sex" /><asp:RadioButton ID="RadioButton2" runat="server" Text="女" GroupName="sex" /></td></tr>
</table>
</div>
<br /><br />
<asp:Button ID="Button2" runat="server" Text="添加" OnClick="Button2_Click" />
</div>
</form>
</body>
</html>

后台代码:
using System;
using System.Collections.Generic;
using System.Data.Entity.Infrastructure;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace EF作业
{
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
lianxiEntities mymodel = new lianxiEntities();
var user = from c in mymodel.T_User
select c.UserName;
this.DropDownList1.DataSource = user.ToList();
this.DropDownList1.DataBind();

var bumen = from a in mymodel.T_Meau
select a;
this.DropDownList2.DataValueField="id";
this.DropDownList2.DataTextField = "meauname";
this.DropDownList2.DataSource =bumen.ToList();
this.DropDownList2.DataBind();
Lode();
}
}
//查询单个
protected void Button1_Click(object sender, EventArgs e)
{
//var query = from d in edm.Order_Details
                   //join order in edm.Orders
                   //on d.OrderID equals order.OrderID
                  // select new
                   // {
                      //  OrderId = order.OrderID,
                      //  ProductId = d.ProductID,
                       // UnitPrice = d.UnitPrice
//};

string username = this.DropDownList1.Text;
lianxiEntities mymodel = new lianxiEntities();
var user = from c in mymodel.T_User
join order in mymodel.T_Meau
on c.DepartMent equals order.id
where c.UserName == username
select new {
c.UserName,
c.Password,
c.Name,
c.Tel,
order.meauname,
c.Gender
};
this.GridView1.DataSource = user.ToList();
this.GridView1.DataBind();

}
//添加一条数据
protected void Button2_Click(object sender, EventArgs e)
{
lianxiEntities mymodel = new lianxiEntities();
T_User user = new T_User();
user.UserName = this.TextBox1.Text;
user.Password = this.TextBox2.Text;
user.Name = this.TextBox3.Text;
user.Tel = this.TextBox4.Text;
user.DepartMent = this.DropDownList2.SelectedItem.Value;
if (this.RadioButton1.Checked == true)
{
user.Gender = this.RadioButton1.Text;
}
else
{
user.Gender = this.RadioButton2.Text;
}
mymodel.T_User.Add(user);
int result=  mymodel.SaveChanges();
if (result>0)
{
Lode();
this.div.Visible =false;
}
}

//连接查询
protected void Lode()
{

lianxiEntities mymodel = new lianxiEntities();
var user = from c in mymodel.T_User
join order in mymodel.T_Meau
on c.DepartMent equals order.id
select new
{
c.UserName,
c.Password,
c.Name,
c.Tel,
order.meauname,
c.Gender
};
this.GridView1.DataSource = user.ToList();
this.GridView1.DataBind();
}

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
string username = e.CommandArgument.ToString();
lianxiEntities mymodel = new lianxiEntities();
//  var user = from c in mymodel.T_User
//             where c.UserName == username
//             select c;

//  foreach (T_User item in user)
//  {
//      mymodel.T_User.Remove(item);
//  }
//int result=  mymodel.SaveChanges();
//if (result>0)
//{
//    Lode();
//}
#region 不用查询删除

#region vs2010
//MyTestEntities mytest = new MyTestEntities();
//T_User user = new T_User() { UserName = username };
////将实体附加到内容管理器中
//mytest.AttachTo("T_User", user);
////设置这个user实体(UserName=username的实体)的状态为“待删除”
//mytest.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Deleted);
//mytest.SaveChanges();
#endregion

#region vs2012或2013
T_User user = new T_User() { UserName = username };
DbEntityEntry entry = mymodel.Entry<T_User>(user);
entry.State = System.Data.EntityState.Deleted;
//vs2013    entry.State = System.Data.Entity.EntityState.Deleted;
int result = mymodel.SaveChanges();
if (result > 0)
{
Lode();
}
#endregion

#endregion

}

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
GridView1.EditIndex = e.NewEditIndex;
Lode();
}

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
GridView1.EditIndex = -1;
Lode();
}

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
string username = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[0])).Text.ToString().Trim();
string password = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[3].Controls[0])).Text.ToString().Trim();
string name = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[4].Controls[0])).Text.ToString().Trim();
string tel = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[5].Controls[0])).Text.ToString().Trim();

lianxiEntities mymodel = new lianxiEntities();
var user = from c in mymodel.T_User
where c.UserName == username
select c;
foreach (T_User item in user)
{
item.Password =password;
item.Name = name;
item.Tel = tel;

}
#region 不查询修改
//lianxiEntities mymodel = new lianxiEntities();
//T_User user1 = new T_User();
//user1.UserName = username;
//user1.Password = password;
//user1.Name = name;
//user1.Tel = tel;

#region vs2010
//mymodel.AttachTo("T_User", user);
//mymodel.ObjectStateManager.ChangeObjectState(user, System.Data.EntityState.Modified);
//mymodel.SaveChanges();
#endregion

#region 使用vs2012修改
//DbEntityEntry entry = mytest.Entry<T_User>(user);
//mymodel.State = System.Data.EntityState.Modified;
//mymodel.SaveChanges();
#endregion
#endregion
int result=  mymodel.SaveChanges();
if (result>0)
{
GridView1.EditIndex = -1;
Lode();
}

}
}
}</span>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: