Self-Join با دستور LINQ
یکشنبه 20 اردیبهشت 1394در SQL دستور JOIN برای نمایش محتویات چند رکورد از جدول های مختلف استفاده می شود , این دستور شامل انواع (Full Join-Left Join-Right Join-INNer Join) میباشد , یکی از این دستورات Self-JOIN میباشد که در این مقاله با این دستور آشنا می شویم
Self_JOIN در LINQ چیست ؟
یک دستور ساده برای اتصال به بانک اطلاعاتی میباشد که به اطلاعات یک جدول با استفاده از دستور LINQ دسترسی خواهد داشت . برای این کار مطابق مراحل زیر عمل میکنیم .
یک پروژه Web Application ایجاد می کنیم .
یک Entity Framework به پروژه اضافه می کنیم .
سپس جدول مورد نظر را انتخاب میکنیم (در این مثال جدول ما شامل id , name,family , Sallary) میباشد
یک کنترل GridView برای نمایش اطلاعات جدول به صفحه اضافه میکنیم
<asp:GridView ID="GridView1" runat="server" CssClass="grid" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" CellPadding="2" ForeColor="Black" GridLines="None" AutoGenerateColumns="True"> <AlternatingRowStyle BackColor="PaleGoldenrod" /> <FooterStyle BackColor="Tan" /> <HeaderStyle BackColor="Tan" Font-Bold="True" /> <PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> <SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> <SortedAscendingCellStyle BackColor="#FAFAE7" /> <SortedAscendingHeaderStyle BackColor="#DAC09E" /> <SortedDescendingCellStyle BackColor="#E1DB9C" /> <SortedDescendingHeaderStyle BackColor="#C2A47B" /> </asp:GridView>
یک کنترل Label به همراه یک Button اضافه می کنیم .
در رویداد کلیک دکمه دستور مربوط به SelfJOIN با استفاده از LINQ را فرا خوانی می کنیم .و در انتها کنترل GridView را مجدد به بانک اتصال می دهیم .
protected void Button1_Click(object sender, EventArgs e) { var query = from r in objEntities.tblEmployee join q in objEntities.tblEmployee on r.Id equals q.EmpRoleId select new { Id = r.FirstName + " " + r.LastName, RoleEmployees = q.FirstName + " " + q.LastName }; GridView1.DataSource = query; GridView1.DataBind(); }
- C#.net
- 3k بازدید
- 1 تشکر