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 تشکر