نمایش نتایج 1 تا 13 از 13

نام تاپیک: join سه جدول در Entity Framework

  1. #1

    join سه جدول در Entity Framework

    سلام
    من چطوری باید دستور Join را در جدول Reserve طبق عکس زیر ، با Entity Framework بنویسم ؟

    ممنون

  2. #2
    مدیر بخش آواتار danialafshari
    تاریخ عضویت
    تیر 1387
    محل زندگی
    هر کجا هستم باشم آسمان مال من است
    پست
    2,909

    نقل قول: مشکل در Entity Framework

    با سلام
    http://stackoverflow.com/questions/2...-join-3-tables
    موفق باشید

  3. #3

    نقل قول: مشکل در Entity Framework

    نقل قول نوشته شده توسط danialafshari مشاهده تاپیک
    سلام
    مثالش رو قبلا دیده بودم اما یکم پیچیده هست !! یکم قاطی هستش !

  4. #4
    کاربر دائمی
    تاریخ عضویت
    اسفند 1384
    محل زندگی
    تهران
    پست
    1,629

    نقل قول: مشکل در Entity Framework

    سلام

    var list = dbContext.Reservation
    .Join ( dbContext.book, r=>r.BookId, b=>b.BookId, ( r, b)=> new { Reservation = r, Book = b } )
    .Join ( dbContext.Person, x=>x.Reservation.PersonId, p=>p.PersonId, ( x, p )=> new { x.Reservation, x.Book, Person = p })
    .ToList();

    به همین سادگی

    صبا صبوحی

  5. #5

    نقل قول: مشکل در Entity Framework

    نقل قول نوشته شده توسط SabaSabouhi مشاهده تاپیک
    سلام

    var list = dbContext.Reservation
    .Join ( dbContext.book, r=>r.BookId, b=>b.BookId, ( r, b)=> new { Reservation = r, Book = b } )
    .Join ( dbContext.Person, x=>x.Reservation.PersonId, p=>p.PersonId, ( x, p )=> new { x.Reservation, x.Book, Person = p })
    .ToList();

    به همین سادگی

    صبا صبوحی
    سلام خیلی ممنون

    آقا من یکم گیج شدم .

    من الان میخوام یه چیزی مثل عکس زیر داشته باشم :



    یعنی تو درج ===>> فقط آی دی رزو ، آی دی کتاب ، آی دی افراد و تاریخ ثبت بشه

    اما در نمایش ===>> مشخصات ترکیبی هم نمایش داده بشه.

    یعنی یه جورایی به تمامی فیلد های همه جدول ها دسترسی داشته باشم

    الان کدی که شما ایجاد کردید رو باید چیکار کنم ؟

  6. #6
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: join سه جدول در Entity Framework

    از متد include استفاده کنید در واقع eager loading میشه یعنی لود اطلاعات وایسته بهم
    اگر یک متد داشته باشیم برای لود رزروها :


    public IList<Reservation> GetAllReserve()
    {
    return context.Reservations.Include(x => x.Person).Include(x=> x.Book).ToList();
    }


    منظور از context میشه دیتاکانتست شما و Reservations هم میشه موجودیت جدول رزرو کردن
    حالا اگر این لیست فراخوانی کنید یا بایند کنید به یک دیناگراید اطلاعات جند جدول نشون داده میشه
    اگر خواستید فبلد نام کتاب رو در یک ستون دیتاکراید ببینید باید هنکام بایند کردن بنویسید Book.name

  7. #7

    نقل قول: join سه جدول در Entity Framework

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    از متد include استفاده کنید در واقع eager loading میشه یعنی لود اطلاعات وایسته بهم
    اگر یک متد داشته باشیم برای لود رزروها :


    public IList<Reservation> GetAllReserve()
    {
    return context.Reservations.Include(x => x.Person).Include(x=> x.Book).ToList();
    }


    منظور از context میشه دیتاکانتست شما و Reservations هم میشه موجودیت جدول رزرو کردن
    حالا اگر این لیست فراخوانی کنید یا بایند کنید به یک دیناگراید اطلاعات جند جدول نشون داده میشه
    اگر خواستید فبلد نام کتاب رو در یک ستون دیتاکراید ببینید باید هنکام بایند کردن بنویسید Book.name
    سلام
    به جای اون contex باید نام مدل EF رو بنویسم ؟
    libraryEntities2 entiti = new libraryEntities2();


    با ارور زیر رو به راه شدم

    نام جدول رزو ، LibReserve هست.



  8. #8
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: join سه جدول در Entity Framework

    اگر Navigation Property هاتون توی LibReserve تعریف شده باشه نباید مشکلی باشه جون متد Include روی navigation property قابل انجام هست شاید هم using System.Data.Entityاشکال داشته باشه و اضافه نشده به لیست رفرنس کلاستون

  9. #9

    نقل قول: join سه جدول در Entity Framework

    برای ساخت join از این دستور میتونی استفاده کنی و هر چند تا خواستی جون بسازی و ستونی های مورد نظرت رو نمایش دهی.
    var q = from tblAshkhasGerTejare in db.Tbl_Ashkhas_Ger_Tejare
    join tblashkhasTeajre in db.Tbl_Ashkhas_Tejare on tblAshkhasGerTejare.AGT_CAT_Code_AshKhas_Tejare equals tblashkhasTeajre.AT_CAT_Code_AshKhas_Tejare
    select new
    {
    tblAshkhasGerTejare.AGT_ID,
    tblAshkhasGerTejare.AGT_CAGTF_Code_Ashkhas_Ger_Tej are_Foroshande,
    tblAshkhasGerTejare.AGT_Name_F,
    tblAshkhasGerTejare.AGT_Last_F,
    tblAshkhasGerTejare.AGT_CAGTK_Code_Ashkhas_Ger_Tej are_Kheredar,
    tblAshkhasGerTejare.AGT_Name_KH,
    tblAshkhasGerTejare.AGT_Last_Kh,
    tblAshkhasGerTejare.AGT_CAT_Code_AshKhas_Tejare,
    tblashkhasTeajre.AT_Noye_Sherkert,
    tblashkhasTeajre.AT_Name_Sherket,
    tblashkhasTeajre.AT_Name_Moder,
    tblAshkhasGerTejare.AGT_Date,
    tblAshkhasGerTejare.AGT_Time,
    };


    فقط کافی هستش به این صورت دستور رو بنویسید برای هر join که اطلاعات رو نمایش بدی.
    join tblashkhasTeajre in db.Tbl_Ashkhas_Tejare on  tblAshkhasGerTejare.AGT_CAT_Code_AshKhas_Tejare equals  tblashkhasTeajre.AT_CAT_Code_AshKhas_Tejare

  10. #10

    نقل قول: join سه جدول در Entity Framework

    نقل قول نوشته شده توسط ali_md110 مشاهده تاپیک
    اگر Navigation Property هاتون توی LibReserve تعریف شده باشه نباید مشکلی باشه جون متد Include روی navigation property قابل انجام هست شاید هم using System.Data.Entityاشکال داشته باشه و اضافه نشده به لیست رفرنس کلاستون
    سلام
    using نداشت . گذاشتم درست شد

    برای اینکه بتونم به دلخواه ، فیلد هایی که میخوان تو دیتا گرید ویو نمایش داده بشه رو خودم انتخاب کنم باید چیکار کنم ؟

    کد زیر رو گذاشتم اما محتویات عکس زیر رو نشون داد :

    datagridview1.datasource = context.Reservations.Include(x => x.Person).Include(x=> x.Book).ToList();

    یا
    datagridview1.datasource= GetAllReserve();



    باز هم محتویات جدول LivReserve رو نشون میده .

    مدل EF :
    آخرین ویرایش به وسیله phpphp7 : پنج شنبه 31 اردیبهشت 1394 در 17:04 عصر

  11. #11
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: join سه جدول در Entity Framework

    اگر به دیتاگرایدتون نگاه کنید ستونهایی با عنوان book یا person اضافه شده که مقدارش نوشته System.Data.Entity........
    این همون جایی هست که شما باهاش کار دارید اینها navigation property های شما یا جداول تلفیق شذه هستن که فقط کافی هست برای نمایش فیلد مورد نطر از این navigation ها بنویسید book.name
    ببینید وقتی با include موجودیتهاتون رو باهم تلفیق میکنید دیگه کاری نداره خاصیت AutoGenerateColumns دیتاگراید ویو برابر False کنید و به دیتاگرادیتون با کلیک راست روی اون ستون از نوع تکست باکس یا هر نوع دلخواه دیگه اضافه کنید و از روش Binding در Winform برای نمایش استفاده کنید
    آخرین ویرایش به وسیله ali_md110 : جمعه 01 خرداد 1394 در 01:48 صبح

  12. #12

    نقل قول: join سه جدول در Entity Framework

    این پروژه به روش join در Ef هستش به همراه اسکریپت دیتابیس که مشاهده میکنید تصاویر رو.
    این تصویر جون شدن دیتابیس هستش. و این تصویر نمایش اطلاعات جون شدن هستش.
    1.png
    و این هم فایل ارتباط بر قرار کردن با فیلد های جدوال با join ولی برای اینکه اجراش رو ببینی فایل اسکریپت ایجاد کن و داده های مورد نظر رو از جدوال اول نام کالا بعد قیمت کالا و آخر سر جدوال قرض وارد کنید تا اطلاعات خودتون رو ببنید.
    http://uplod.ir/4xpgbmuz3rlt/ShowInf...onJoin.zip.htm

  13. #13

    نقل قول: join سه جدول در Entity Framework

    joiner.png
    من میخوام در کد سرچ این کد را اجرا کنم نمیشه
    درصورتیکه شماره مشتری کلید اصلی باشد میخوام ام نام وفامیل را ازجدول مشتری و بقیه اطلاعات را از جدول دوم بخونه
    چکارش کنم؟

تاپیک های مشابه

  1. سوال: نمایش جدول با EF در DGView و Join جداول در Entity Framework
    نوشته شده توسط Amir4317 در بخش C#‎‎
    پاسخ: 7
    آخرین پست: شنبه 22 فروردین 1394, 13:55 عصر
  2. سوال: در مورد نشان دادن آخرین رکورد جدول با Entity Framework
    نوشته شده توسط mamadcity در بخش C#‎‎
    پاسخ: 4
    آخرین پست: یک شنبه 17 شهریور 1392, 01:30 صبح
  3. سوال: مشكل در دسترسي به جدول مياني به هنگام استفاده از Entity Framework
    نوشته شده توسط baran_bataravat در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 6
    آخرین پست: شنبه 23 مهر 1390, 12:13 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •