نحوه جوین جداول و نمایش داده های دلخواه از 2 جدول در انتیتی فریم ورک
من یک برنامه ذخیره کالا دارم با WPF و Entity Framwork
الان دوتا جدول دارم که یکیش مربوط به کلیه کالاهای ذخیره شدس و اسمش هست Table_Kalaha
و یک جدول هم دارم مربوط به واحد های کالا ها که اسمش هست Table_Vahed که فقط نام واحد کالا و کد توی اون ذخیره میشه.
من میخوام توی دیتاگریدم توی wpf نام این واحد ها رو توی یک ستون نمایش بدم
این دوتا جدول من هستش ↑ میخوام نتیجه توی دیتا گرید ویو به جای این ↓ نام واحد های موجود در جدول واحد ها که کدش توی جدول کالا هام هستش رو نشون بده
میخوام نتیجه این شکلی باشه:
پاسخ هوش مصنوعی
برای جوین کردن دو جدول در 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 شما نام درستی دارد تا قابلیت دسترسی به آن وجود داشته باشد.
کاری که شما باید انجام بدید این هست که باید 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 خودتون نمایش بدید.
- آموزش استفاده از پلاگین گردونه شانس در Asp.net core به همراه سورس
- نمایش متن به صورت فرمت شده در CkEditor
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- مشکل تاریخ شمسی در سی شارپ
- نمایش گزارش stimulsoft روی کلاینت
- حذف کامل یک رکورد در جدول ریلیشن شده
- تفاوت های سی شارپ 8 با نسخه های قبلی چیه؟
- انتخاب چند سطر دلخواه توسط چک باکس در DataGrid و محاسبه جمع سطرهای انتخاب شده
- مقایسه ساختار دو دیتابیس در Sql Server
- اشکال در ایجاد کلید خارجی در Sql Server
- نمایش نوتیفکیشن در سی شارپ
- ارسال پارامتر از سی شارپ به استیمول سافت
- عدم نمایش عکس در دیتاگرید ویو در wpf