Linq插入数据的功能实现原理不是很容易理解,希望同错此篇文章,能给你带去启迪。
Linq插入数据的功能由Table
- public void InsertOnSubmit(TEntity entity)
- public void InsertAllOnSubmit
(IEnumerable entities) where TSubEntity :
其中,entity参数表示单个实体,entities参数表示实体的集合。
向数据库中插入数据的功能由Sample_08应用程序中的AddData.aspx页面实现,它的代码隐藏文件为AddData.aspx.aspx.cs。
1.Linq插入数据之创建AddData.aspx页面
在AddData.aspx页面上创建一个GridView控件和一个Button控件,它们的ID属性的值分别为gvData和btnAdd。AddData.aspx页面的HTML设计代码如下:
- <%@ Page Language="C#" AutoEventWireup="true" CodeFile="AddData.aspx.cs" Inherits="AddData" %>
- 、
向数据库中插入数据 - "gvData" runat="server">
- "btnAdd" runat="server" Text="添加新的数据" onclick="btnAdd_Click" />
2.Linq插入数据之AddData.aspx页面初始化
AddData.aspx页面初始化功能由其Page_Load(object sender, EventArgs e)事件实现。该事件调用ShowData()函数使用LINQ语句查询Role表中的记录,并显示在gvData控件中。其中,查询数据的LINQ查询表达式为“from r in db.Role select r”。Page_Load(object sender, EventArgs e)事件和ShowData()函数的程序代码如下:
- using System.Data.Linq;
- using System.Collections.Generic;
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!Page.IsPostBack){ShowData();}
- }
- private void ShowData()
- { ///创建LinqDB数据库的数据上下文的实例
- LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
- ///获取所有角色
- var result = from r in db.Role
- select r;
- ///绑定控件数据,并显示数据
- gvData.DataSource = result;
- gvData.DataBind();
- }
3.Linq插入数据
插入数据的功能由AddData.aspx页面中的【添加新的数据】按钮(btnAdd控件)实现,该按钮触发其Click事件btnAdd_Click(object sender,EventArgs e)。该事件调用AddDataWiteLINQ()函数实现插入数据的功能,具体步骤如下。
(1)创建LinqDBDataContext类的实例db。
(2)创建Role类的一个新的实例role,并设置该实例的RoleName属性的值为
“"New Role " + DateTime.Now.ToShortTimeString()”表达式的值。
(3)调用InsertOnSubmit()方法将role实例添加到db实例的Role表中。
(4)调用SubmitChanges()方法将上述修改提交到数据库,并实现修改数据的功能。
btnAdd_Click(object sender,EventArgs e)事件和AddDataWithLINQ()函数的程序代码如下:
- private void AddDataWithLINQ()
- { ///创建LinqDB数据库的数据上下文的实例
- LinqDBDataContext db = new LinqDBDataContext(LinqSystem.LinqDBConnectionString);
- ///创建一个新的实体
- Role role = new Role();
- role.RoleName = "New Role " + DateTime.Now.ToShortTimeString();
- ///添加到数据库中
- db.Role.InsertOnSubmit(role);
- db.SubmitChanges();
- }
- protected void btnAdd_Click(object sender,EventArgs e)
- {
- AddDataWithLINQ();ShowData();
- }
把AddData.aspx页面设置为Sample_08应用程序的起始页面,并运行Sample_08应用程序。AddData.aspx页面的初始化界面,页面显示Role表中的记录。单击【添加新的数据】按钮,AddData.aspx页面将插入一条新记录到Role表中,并显示插入操作之后的Role表中的记录。
以上就是对Linq插入数据的简单介绍。
【编辑推荐】
上一篇:浅析Linq插入数据的实现方法