دسته بندی ها
09:12 1399/07/28

نحوه جوین جداول و نمایش داده های دلخواه از 2 جدول در انتیتی فریم ورک

مشخصات سوال کننده :
کاربر : mojtabahakimian     امتیاز کاربر : 155     رتبه کاربر : 10
دسته بندی : WPF سی شارپ Sql Server Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 5949
1 نظر
mojtabahakimian : dgv_Kalaha.ItemsSource = dbms.Table_Kalaha.ToList(); این کد من برای پر کردن دیتاگرید ویو هستش و توی کد XAML هم ستون واحد Binding شده به Vahed

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 09:14 1399/07/28
هوش مصنوعی

پاسخ هوش مصنوعی

برای جوین کردن دو جدول در Entity Framework و نمایش داده ها در یک DataGrid در WPF، می توانید از لامبدا اکسپریشن ها استفاده کنید. در اینجا یک نمونه کد برای انجام این کار آورده شده است:

using (var context = new YourDbContext())
{
    var query = from kalaha in context.Table_Kalaha
                join vahed in context.Table_Vahed on kalaha.VahedCode equals vahed.Code
                select new
                {
                    kalaha.Id,
                    kalaha.Name,
                    VahedName = vahed.Name
                };

    dataGrid.ItemsSource = query.ToList();
}

در این کد فرض شده است که:

  • پروپرتی VahedCode در جدول Table_Kalaha کد واحد کالا را ذخیره می کند.
  • پروپرتی Code در جدول Table_Vahed کد واحد کالا را ذخیره می کند.
  • نوع YourDbContext باید با نام متنی که شما برای DbContext خود استفاده کرده اید، جایگزین شود.

سپس می توانید این داده ها را در DataGrid WPF خود نمایش دهید. مطمین شوید که DataGrid شما نام درستی دارد تا قابلیت دسترسی به آن وجود داشته باشد.

به این پاسخ امتیاز بدهید    0
امتیاز: - رتبه: -
پاسخ دهنده : saedbfd 19:27 1399/07/28

کاری که شما باید انجام بدید این هست که باید 2 جدولی که دارید رو با هم Join کنید و نتیجه رو در DataGrid نمایش بدید. برای این منظور این سوال رو میتونید مطالعه کنید.

جوین (Join) کردن جداول در Entity FrameworkCore

 

اما روش جوین کردن 2 جدول شما رو هم به صورت اختصاصی میگم بهتون. شما 2 جدول دارید.

  • جدول اول لیست کالاها یا جدول Table_Kalaha
  • جدول دوم هم لیست واحدها یا جدول Table_Vahed 

در جدول Table_Kalaha یک فیلد به نام Vahed دارید که در واقع Id واحدها از جدول Table_Vahed هست. بنابراین کلید خارجی در جدول Table_Kalaha هست. خب همه چیز مشخص هست به راحتی میتونید Join رو انجام بدید و نتیجه رو در DataGrid نمایش بدید.

 

var query = from kala in dbms.Table_Kalaha
                         join vahed in dbms.Table_Vahed on Kala.Vahed equals vahed.Code
                         select new { Code = kala.Code, Name = Kala.Name, VahedName = vahed.Names};
dgv_Kalaha.ItemsSource = query.ToList();

 

نتیجه کوئری بالا 3 فیلد به نام های Code و Name و VahedName می باشد که این 3 فیلد را می تونید توی DataGrid خودتون نمایش بدید.

به این پاسخ امتیاز بدهید    1
امتیاز: 1664 رتبه: 1
2 نظر
mojtabahakimian : SELECT * FROM Table_Kalaha Inner JOIN Table_Vaheds ON Table_Kalaha.VAHED = Table_Vaheds.CODE مهندس این کوئری من با SQL Query من هستش بعد ستون واحد ها توی دیتاگریدویو رو هم Binding="{Binding NAMES}" این NAMES ستونی هستش که نام واحد ها رو میاره اما این ستون رو که بایند کردم توی دیتاگرید نشون نمیده

امتیاز کاربر : 155   رتبه کاربر : 10   تاریخ ثبت : 11:36 1399/07/29
saedbfd : با توجه به کوئری که براتون نوشتم شما باید این 3 تا ستون رو در دیتاگرید بایند کنید. Code و Name و VahedName

امتیاز کاربر : 1664   رتبه کاربر : 1   تاریخ ثبت : 05:47 1399/07/29
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود