PDA

View Full Version : نمودار در Entity Framework



sakhi64
یک شنبه 30 مهر 1396, 13:44 عصر
باسلام خدمت دوستان عزیز. من در سی شارپ با تکنولوژی Entity Framework یک نمودار از دیتابیس ایجاد کنم که مشکل دارم. از دوستان در این مورد راهنمایی می خواهم. باتشکر
تصویر نمونه پیوست شده است.

ژیار رحیمی
یک شنبه 30 مهر 1396, 21:14 عصر
کلاس پایه جهت کویری

public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Duration { get; set; }
}

مقدار دهی اولیه به لیستی از نوع کلاس User

Users=new List<User>();
Users.Add(new User {Id = 1,Name = "name1",Duration = 1});
Users.Add(new User {Id = 1,Name = "name1", Duration = 5});
Users.Add(new User {Id = 1,Name = "name1", Duration = 3});
Users.Add(new User { Id = 2, Name = "name2", Duration = 1 });
Users.Add(new User { Id = 3, Name = "name3", Duration = 5 });
Users.Add(new User { Id = 3, Name = "name3", Duration = 6 });

اجرای کویری روی لیست(لیست براساس Id گروه بتدی شده و به ازای هر گروه ،تعداد و مجموع گروه محاسبه شده)

var lst = Users.GroupBy(c => c.Id)
.Select(c=>new
{
c.First().Name,
Count =c.Count(),
Sum =c.Sum(p=>p.Duration)
});

lst نتیجه کویری خواهد بود که به نمودار میفرستی.موفق باشی

sakhi64
دوشنبه 01 آبان 1396, 22:10 عصر
سلام ژیار جان. چرا مقدار اولیه می دهید. اطلاعات قراره از دیتابیس خوانده بشن.ضمنا کاربر در برنامه مجاز به اضافه کردن نام و مشخصات افراد است. پس قبلا ما تعداد افراد رو نمی دونیم و تعداد تکرار افراد نیز مشخص نیست.
من این رو در یه برنامه مامویت کارکنان استفاده میکنم. همانطوریکه مشخص نیست تعداد ماموریت کارکنان چقدر تکرار میشه.

ژیار رحیمی
دوشنبه 01 آبان 1396, 22:35 عصر
برای اجرای کویری ،من یه لیست گرفتم شما به جای این لیست از کلاس POCO در EntityFramework استفاده میکنی .شما اطلاعات کلاس مربوطه را قرار نداده بودین به همین دلیل از این روش استفاده شد

sakhi64
دوشنبه 29 آبان 1396, 21:21 عصر
سلام. میشه در این مورد راهنمایی بفرمایید.