LINQ - ASP.Net

作为一组.NET框架扩展,LINQ是ASP.NET开发人员进行数据访问的首选机制. ASP.NET 3.5有一个内置工具LINQDataSource控件,可以在ASP.NET中轻松使用LINQ. ASP.NET使用上述控件作为数据源.现实生活中的项目主要包含网站或Windows应用程序,因此为了更好地理解LINQ with ASP.NET的概念,让我们从创建一个利用LINQ功能的ASP.NET网站开始.

为此,必须在系统上安装Visual Studio和.NET框架.打开Visual Studio后,转到File → 新的 → 网站.弹出窗口将打开,如下图所示.

LINQ - ASP.Net

现在,在左侧的模板下,将有两种语言选项来创建网站.选择 Visual C#并选择 ASP.NET空网站.

选择要在系统中保存新网站的文件夹.然后按确定,很快解决方案资源管理器会出现在包含所有网络文件的屏幕上.右键单击解决方案资源管理器中的Default.aspx,然后选择"在浏览器中查看"以在浏览器中查看默认的ASP.NET网站.很快您的新ASP.NET网站将在Web浏览器中打开,如以下屏幕截图所示.

LINQ - ASP.Net

.aspx实际上是ASP.NET网站中使用的主要文件扩展名.默认情况下,Visual Studio会为基本网站创建所有必需的页面,例如主页关于我们页面,您可以在其中方便地放置内容.网站的代码在这里自动生成,也可以查看.

LINQDataSource控件

可以 UPDATE,INSERT

该控件使用户可以方便地在ASP.NET网页中使用LINQ通过标记文本中的属性设置. LINQDataSource非常类似于 SqlDataSource 等控件以及 ObjectDataSource ,因为它可以用于将页面上存在的其他ASP.NET控件绑定到数据源.因此,我们必须有一个数据库来解释LINQDataSource控件调用的各种函数.

在开始解释ASP.NET web中的控件用法之前在页面表单中,必须打开Microsoft Visual Studio工具箱并将LINQDataSource控件拖放到ASP.NET网站的.aspx页面,如下图所示.

LINQ - ASP.Net

下一步是通过选择员工记录的所有列来配置LINQDataSource.

LINQ - ASP.Net

现在将一个GridView控件添加到.aspx页面配置如下图所示. GridView控件功能强大,可灵活处理数据.配置控件后不久,它将出现在浏览器中.

LINQ - ASP.Net

现在可以在屏幕上查看.aspx页面的编码将是 :

<!DOCTYPE html>

<html>
   <head runat = "server">
      <title></title>
   </head>

   <body>
      <form id = "form1" runat = "server">
         <div>
            <asp:GridView ID = "GridView1" runat = "server" AutoGenerateColumns = "False"
			
               DataKeyNames = "ContactID" DataSourceID = "LINQDataSource1">
               <Columns>
			   
                  <asp:BoundField DataField = "ContactID" HeaderText = "ContactID"
                     InsertVisible = "False" ReadOnly="True" SortExpression = "ContactID" />
                  <asp:CheckBoxField DataField = "NameStyle" HeaderText = "NameStyle"
                     SortExpression = "NameStyle" />
                  <asp:BoundField DataField = "Title" HeaderText = "Title" SortExpression = "Title" />
                  <asp:BoundField DataField = "FirstName" HeaderText = "FirstName"
                     SortExpression="FirstName" />
                  <asp:BoundField DataField = "MiddleName" HeaderText = "MiddleName"
                     SortExpression = "MiddleName" />
                  <asp:BoundField DataField = "LastName" HeaderText = "LastName"
                     SortExpression = "LastName" />
                  <asp:BoundField DataField = "Suffix" HeaderText = "Suffix"
                     SortExpression = "Suffix" />
                  <asp:BoundField DataField = "EmailAddress" HeaderText = "EmailAddress"
                     SortExpression = "EmailAddress" />
               </Columns>

            </asp:GridView>

            <br />

         </div>

         <asp:LINQDataSource ID = "LINQDataSource1" runat = "server"

            ContextTypeName = "LINQWebApp1.AdventureWorksDataContext" EntityTypeName = ""
               TableName = "Contacts">

         </asp:LINQDataSource>
      </form>
   </body> 
</html>

这里应该注意,将属性ContextTypeName设置为表示数据库的类的属性至关重要.例如,这里它以LINQWebApp1.AdventureWorksDataContext的形式给出,因为此操作将在LINQDataSource和数据库之间建立所需的连接.

使用LINQ在ASP.NET页面中INSERT,UPDATE和DELETE数据

严格完成上述所有步骤后,从 LINQDataSource Control 中选择 LINQDataSource Tasks 并选择所有三个框以启用插入,启用更新并启用相同的删除,如以下屏幕截图所示.

LINQ - ASP.Net

很快,声明性标记将显示在屏幕上,如下所示.

<asp:LINQDataSource 
   ContextTypeName = "LINQWebApp1.AdventureWorksDataContext" 
   TableName = "Contacts" 
   EnableUpdate = "true" 
   EnableInsert = "true" 
   EnableDelete = "true" 
   ID = "LINQDataSource1" 
   runat = "server"> 
</asp:LINQDataSource>

现在因为有多个行和列,所以最好在网格视图下面的.aspx表单上添加另一个名为Detail View或Master控件的控件控件以仅显示网格的选定行的详细信息.从详细视图控件中选择详细视图任务,然后选中如下所示的复选框.

LINQ - ASP.Net

现在,只需保存更改并按Ctrl + F5查看浏览器中的页面,现在可以在详细视图控件上删除,更新,插入任何记录