دسته بندی ها
13:05 1400/06/12

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

مشخصات سوال کننده :
کاربر : MinaNikbakht     امتیاز کاربر : ‎−1     رتبه کاربر : 7055
دسته بندی : Asp.net Core Asp.net Mvc Entity Framework

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 3225
پاسخ دهنده : saedbfd 00:17 1400/06/13

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

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

  • شما یک جدول به نام Product دارید که کلید اصلی این جدول ProductID هست.
  • یک جدول هم به نام ProductDetails دارید که فیلد ProductID از جدول Product در اون کلید خارجی می خواهید استفاده کنید. خب اولین کاری که باید انجام می دادید و انجام نشده این هست که باید فیلد ProductID رو به عنوان کلید خارجی در این جدول معرفی کنید. به کد زیر دقت کنید این کار انجام شده براتون.
public class ProductDetail
{
        [Key]
        public int ProductDetail_Id { get; set; }

        [Required]
        [Display(Name = "رنگ")]
        public string color { get; set; }

        [Required]
        [Display(Name = "تعداد")]
        public int count { get; set; }

        [Required]
        [Display(Name = "عکس")]
        public string image { get; set; }

        [Required]
        public int ProductId { get; set; }

        [ForeignKey("ProductID")]
        public virtual Product Product { get; set; }
}

 

خب حالا می تونید کوئری جوین خودتون رو به صورت زیر بنویسید :

var productquery = (from p in _context.Product join pd in _context.ProductDetail
                on p.ProductId equals pd.ProductId   
                select new ProductListViewModel()
                {
                     ///...
                }).ToList();

خب توسط دستورات می تونید به راحتی جوین رو انجام بدید. شما میتونید از انواع Join در انتینتی فریم ورک استفاده کنید. مثلا Left Join یا Right Join یا ... (انواع Join و آشنایی با آنها)

نحوه Left Join در انتیتی فریم ورک

 

به این پاسخ امتیاز بدهید    0
امتیاز: 1654 رتبه: 1
1 نظر
olfat80r : احسنت ، کاملا درسته ایشون اتصال و ارتباط دو جدول را تعیین نکرده ست و پس از اینکار مشکل به نظرم حل خواهد شد. ♥

امتیاز کاربر : 5   رتبه کاربر : 110   تاریخ ثبت : 04:11 1400/07/28
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود