سلام وقت بخیر
اگه بخوام روی متد دریافت دوره ها صفحه بندی و فیلتر بزارم کد های ریپازیتوری و سرویس چطوری پیاده سازی میشه؟
CourseService
public CourseViewModel GetCourses()
{
return new CourseViewModel()
{
Courses = _courseRepository.GetCourses()
};
}
CourseRepository
public IEnumerable<Course> GetCourses()
{
return _ctx.Courses;
}
خودم سعی کردم بزنم ولی متد هایی مثل Where و Skip و Take میومد داخل سرویس درصورتی که باید داخل ریپازیتوری باشه!
پیشاپیش بابت راهنمایی تشکر میکنم
سلام دوست من وقتتون بخیر
شما باید عبارت های لازم رو از طریق service به repository ارسال کنید و بعد از ان داخل reposiory از پارامتر های ورودی استفاده کنید
کسی اگه صفحه بندی و فیلتر روی لیست دوره ها رو توی معماری تمیز انجام داده لطفا کد های ریپازیتوری و سرویس رو در اینجا برای بنده به اشتراک میزاره؟
هر جا میرم ی مدل کار کردن و تا الان نتونستم بفهمم :|
مرسی
مرسی ولی جفت لینک ها پیاده سازی صفحه بندی در معماری تمیز نبودن
شانس بد من چند جایی هم که خودم دیدم دقیقا از 5 لایه استفاده نمیکردن :|
بازم ممنون
دوستان گرامی کسی صفحه بندی یا صفحه بندی با فیلتر اعمال کرده لطفا به اشتراک بزاره
مرسی از توجه و حمایتتون :)
نمیدونم کدی که نوشتم درست هست یا خیر :)
توضیح:
با همین معماری و دقیقا 5 لایه ی پروژه دیگه درست کردم و از .NET 6 استفاده میکنم!
توی صفحه بندی و اعمال فیلتر برای لیست کاربران بد جور گیر کردم :)
از ریپازیتوری و سرویس شات میزارم ( از جای دیگه هم نیاز بود بفرمایید با اضافه کنم )
سوال:
1- فقط میخوام بدونم کدی که نوشتم معماری رو نقض نمیکنه؟
2- مشکلی نداره؟
3- میشه بهترش کرد؟
UserRepository :

UserService :

مرسی از راهنمایی شما
دوست من Repository های شما نباید IQueryable برگردونند
این قسمت رو باید اصلاح کنید و کدهای مربوط به صفحه بندی رو داخل Repository بنویسید
مرسی
خروچی متدی که داخل ریپازیتوری هست رو بصورت List میزارم!
1- متد های take و skip رو از سرویس میبرم داخل ریپازیتوری و بعنوان آرگومان به متد GetUsers بدمشون؟
ولی اینجوری به تعداد اصلی رکورد ها که با count گرفتم دسترسی ندارم! ( چون فقط تعدادی که با take مشخص کردم رو برمیگردونه! )
2- چجوری تعداد تمام رکورد ها رو بگیرم؟ ی متد دیگه بنویسم که فقط شامل فیلتر های ایمیل و نام کاربری باشه ؟
میتونید با استفاده یک متد دیگه تعداد کل ایتم هاتونو بدست بیارید دوست من