- 1400/08/19
- 0
- 148
نمایش تعداد فرزند های دسته بندی
با سلام. بنده از طریق automapper دسته بندی کالا ها را انجام داده ام. ولی نمایش زیر دسته های آن ها را null بر می گرداند. در حالی که در دیتابیس parent آنها مشخص شده است.
ممنون میش راهنمایی بفرمایید
| شناسه | تعداد فرزند |
| لوازم دیجتال | 0 |
| لوازم خانگی | 0 |
- 1400/08/21
سلام
لطفا سورس کد رو هم قرار دهید
- 1400/08/21
public PaginatedItemsDto<CatalogTypeListDto> GetList(int? parentId, int page, int pageSize)
{
int totalCount = 0;
var model = _context.CatalogTypes
.Where(x => x.ParentCatalogTypeId == parentId)
.PagedResult(page, pageSize, out totalCount);
var result = _mapper.ProjectTo<CatalogTypeListDto>(model).ToList();
var showList = new PaginatedItemsDto<CatalogTypeListDto>(page, pageSize, totalCount, result);
return showList;
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
public CatalogMappingProfile()
{
CreateMap<CatalogType, CatalogTypeDto>().ReverseMap();
CreateMap<CatalogType, CatalogTypeListDto>()
.ForMember(dest => dest.SubTypeCount, option =>
option.MapFrom(src => src.SubType.Count));
CreateMap<CatalogType, MenuItemDto>()
.ForMember(dest => dest.Name, opt =>
opt.MapFrom(src => src.Type))
.ForMember(dest => dest.ParentId, opt =>
opt.MapFrom(src => src.ParentCatalogTypeId))
.ForMember(dest => dest.SubMenu, opt =>
opt.MapFrom(src => src.SubType));
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////
<tbody>
@foreach (var item in Model.CatalogType.Data)
{
<tr role="row">
<td class="sorting_1"> @item.Id</td>
<td> @item.Type </td>
<td> @item.SubTypeCount </td>
<td>
<div class="btn-group">
<button type="button" class="btn btn-dark btn-sm">انتخاب گزینه</button>
<button type="button" class="btn btn-dark btn-sm dropdown-toggle dropdown-toggle-split" id="dropdownMenuReference25" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" data-reference="parent">
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-chevron-down"><polyline points="6 9 12 15 18 9"></polyline></svg>
</button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuReference25">
<a class="dropdown-item" asp-page="Edit" asp-route-id="@item.Id">ویرایش</a>
<a class="dropdown-item" asp-page="Delete" asp-route-id="@item.Id">حذف</a>
<a class="dropdown-item" asp-page="Create" asp-route-parentId="@item.Id">افزودن زیردسته بندی</a>
<div class="dropdown-divider"></div>
<a class="dropdown-item" asp-page="index" asp-route-parentid="@item.Id">لیست زیر دسته بندی ها</a>
</div>
</div>
</td>
</tr>
}
</tbody>
- 1400/08/21
sub category ها را هم include کنید در query
- 1400/08/21
کوئری را به این صورت تغییر دادم ولی همچنان برای فرزند ها null را برمیگرداند و مقدار صفر می باشد.
public PaginatedItemsDto<CatalogTypeListDto> GetList(int? parentId, int page, int pageSize)
{
int totalCount = 0;
var model = _context.CatalogTypes
.Include(x=>x.SubType)
.Where(x => x.ParentCatalogTypeId == parentId)
.PagedResult(page, pageSize, out totalCount);
var result = _mapper.ProjectTo<CatalogTypeListDto>(model).ToList();
return new PaginatedItemsDto<CatalogTypeListDto>(page, pageSize, totalCount, result);
}
- 1400/08/22
بدون استفاده از mapper هم امتحان کردم و با روش select کردن عادی انجام دادم ولی کماکان subtype.count صفر را بر می گرداند.
var totalCount = 0;
var model = _context.CatalogTypes
.Where(x => x.ParentCatalogTypeId == parentId)
.Include(x => x.SubType)
.PagedResult(page, pageSize, out totalCount);
var result = model.Select(x => new CatalogTypeListDto
{
Id = x.Id,
Type = x.Type,
SubTypeCount = x.SubType.Count
}).ToList();
return new PaginatedItemsDto<CatalogTypeListDto>(page, pageSize, totalCount, result);
- 1400/08/22
سلام
میشه لطفا اطلاعات از دیتابیس قرار بدید ؟
یک select از جدول اصلی و یکی از زیر مجموعه قرار بدید فکر کنم اشکال شما از ParentCatalogTypeId باشه
- 1400/08/22
موجودیت کاتالوگ تایپ:
using System.Collections.Generic;
using Domain.Attributes;
namespace Domain.Catalogs
{
[Auditable]
public class CatalogType
{
public long Id { get; set; }
public string Type { get; set; }
public int? ParentCatalogTypeId { get; set; }
public CatalogType ParentCatalogType { get; set; }
public ICollection<CatalogType> SubType { get; set; }
}
}
select از فیلد پدر و فیلد فرزند نیز قرار دادم ولی صفر برمی گرداند
var totalCount = 0;
var model = _context.CatalogTypes
.Include(x=> x.ParentCatalogType)
.Include(x => x.SubType)
.Where(x => x.ParentCatalogTypeId == parentId)
.PagedResult(page, pageSize, out totalCount);
در خود ویدیو آموزشی از include هم استفاده نشده است ولی به درستی نشان داده می شود
- 1400/08/22
parentCatalogId updateTime RemoveTim isRemove insertTime Type Id
|
1 |
لوازم دیجیتال |
2021-11-09 23:43:14.9989452 |
False |
NULL |
2021-11-10 01:41:04.8526086 |
NULL |
|
2 |
لپتاپ |
2021-11-09 23:43:14.9989452 |
False |
NULL |
2021-11-10 11:48:22.9889088 |
1 |
|
3 |
Asus |
2021-11-09 23:43:14.9989452 |
False |
NULL |
2021-11-10 11:48:45.5660953 |
2 |
|
4 |
Dell |
2021-11-09 23:43:14.9989452 |
False |
NULL |
2021-11-10 11:49:04.7698669 |
2 |
|
5 |
Acer |
2021-11-09 23:43:14.9989452 |
False |
NULL |
2021-11-10 11:49:21.1638792 |
2 |
|
8 |
لوازم خانگی |
2021-11-10 01:22:54.3868943 |
False |
2021-11-10 01:52:03.4247604 |
NULL |
NULL |
|
9 |
صوتی و تصویری |
2021-11-10 01:24:04.8566208 |
False |
NULL |
NULL |
8 |
|
10 |
تلویزیون |
2021-11-10 01:24:35.6935983 |
False |
NULL |
NULL |
9 |
|
11 |
سامسونگ |
2021-11-10 01:24:57.5369863 |
False |
NULL |
NULL |
10 |
|
12 |
Asus Rog Zypherus 10750 |
2021-11-10 11:49:55.8232984 |
False |
NULL |
NULL |
3 |
|
13 |
فرش و مبل |
2021-11-10 13:31:50.9302985 |
False |
NULL |
NULL |
NULL |
|
14 |
فرش دستباف |
2021-11-10 13:32:08.1595003 |
False |
NULL |
NULL |
13 |
|
15 |
مبل راحتی |
2021-11-10 13:32:20.4941006 |
False |
NULL |
NULL |
13 |
|
NULL |
NULL |
NULL |
NULL |
NULL |
NULL |
NULL |
پاسخی برای این باگ ارسال کنید
لطفا کدها را درون قطعه کد ارسال نمایید
برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری