ورود

View Full Version : مبتدی: کار با data system entity



zahraRF
یک شنبه 27 تیر 1395, 08:42 صبح
سلام من دارم یه سایت فروشگاه می نوستم برای دسته بندی محصولاتم از یک جدول استفاده کردم حالا تو کنترلرم اینو نوشتم


public ActionResult Category(int id)
{
var context = new AlborzEntities();
var ProductCategory = context.Categories.Where(x => x.ParentID.Any(z => z.ID == id)).ToList();
return View(ProductCategory);
}
وای به any گیر میده چی باید بزارم بجاش؟؟

bomb23
یک شنبه 27 تیر 1395, 11:37 صبح
سلام

چرا کوئری رو اینطوری ننوشتید؟ اصلا چه نیازی به any هست؟! البته برداشت من از ساختار دیتابیستون اینه:


context.Categories.Where(x => x.ParentID == id).ToList


اگه اشتباهه بفرمایید ساختار دیتابیس چطوریه یا کلاسهای مربوطه رو بیارید

zahraRF
یک شنبه 27 تیر 1395, 12:01 عصر
ممنون
ولی به این خاطر ابنجوری ننوشتم چون من تو سایتم چندین طبقه بندی تو در تو دارم و یک جدول دارم که Id--> primerykey هست و parentID---> foreignkey که nullable هم هست
حالا این خطو برای طبقه بندی های سطح 2 به بعدم می خوام
یعنی می خوام اونایی که parentID برابر یکی از ID هارو داره نشون داده شه

hakim22
یک شنبه 27 تیر 1395, 13:51 عصر
متد Any مفهوم دیگه ای داره. کار Any این هست که چک کنه "آیا حداقل یک مورد با شرایط درج شده وجود داره یا نه " از این متد برای چک کردن اینکه لیست خالی هست یا نه استفاده میشه و مقدار برگشتی هم bool هست.

برای برگرداند لیست از Where استفاده کنید.

zahraRF
یک شنبه 27 تیر 1395, 14:22 عصر
متد Any مفهوم دیگه ای داره. کار Any این هست که چک کنه "آیا حداقل یک مورد با شرایط درج شده وجود داره یا نه " از این متد برای چک کردن اینکه لیست خالی هست یا نه استفاده میشه و مقدار برگشتی هم bool هست.

برای برگرداند لیست از Where استفاده کنید.

خب میشه بگین یعنی چی بنویسم ؟؟؟؟

Moien Tajik
یک شنبه 27 تیر 1395, 18:52 عصر
يعني مي خوام اونايي که parentID برابر يکي از ID هارو داره نشون داده شه



//1
var ProductCategory = context.Categories.Where(x => x.ParentID == Id).ToList();


//2 : Linq
var ProductCategory = (from x in context.Categories
where x.ParentID == Id).ToList();

bomb23
دوشنبه 28 تیر 1395, 07:09 صبح
ممنون
ولی به این خاطر ابنجوری ننوشتم چون من تو سایتم چندین طبقه بندی تو در تو دارم و یک جدول دارم که Id--> primerykey هست و parentID---> foreignkey که nullable هم هست
حالا این خطو برای طبقه بندی های سطح 2 به بعدم می خوام
یعنی می خوام اونایی که parentID برابر یکی از ID هارو داره نشون داده شه

لطف بفرمایید ساختار دیتابیستون رو مشخص کنید! نام جداول مربوطه و فیلدهاش که امکان راهنمایی وجود داشته باشه! وقتی کسی ساختار شما رو نبینه امکان راهنمایی رو نداره.

zahraRF
دوشنبه 28 تیر 1395, 08:50 صبح
لطف بفرمایید ساختار دیتابیستون رو مشخص کنید! نام جداول مربوطه و فیلدهاش که امکان راهنمایی وجود داشته باشه! وقتی کسی ساختار شما رو نبینه امکان راهنمایی رو نداره.

141549
141550
فعلا این یه جدول تا برای بقیه کارها باز بقیه جداولو درست کنم

Moien Tajik
دوشنبه 28 تیر 1395, 14:31 عصر
اینو تست کنید :


var ProductCategory = (from x in context.Categories
where x.ParentID == Id
select x).ToList();

zahraRF
سه شنبه 29 تیر 1395, 08:03 صبح
//1
var ProductCategory = context.Categories.Where(x => x.ParentID == Id).ToList();


//2 : Linq
var ProductCategory = (from x in context.Categories
where x.ParentID == Id).ToList();



مرسی درست شد :)))