C#ObjectMapper集合列表如果为空,则为null
我正在使用此类作为我的权限dto:C#ObjectMapper集合列表如果为空,则为null,c#,asp.net-mvc,treeview,objectmapper,C#,Asp.net Mvc,Treeview,Objectmapper,我正在使用此类作为我的权限dto: [AutoMapFrom(typeof(Permission))] public class PermissionDto : PermissionDto2 { public PermissionDto2 Parent { get; set; } } [AutoMapFrom(typeof(Permission))] public class PermissionDto2 { public string Name { get; set; }
[AutoMapFrom(typeof(Permission))]
public class PermissionDto : PermissionDto2
{
public PermissionDto2 Parent { get; set; }
}
[AutoMapFrom(typeof(Permission))]
public class PermissionDto2
{
public string Name { get; set; }
public string DisplayName { get; set; }
public string Text => Name;
public string Value => Name;
public bool Checked { get; set; }
public List<PermissionDto2> Children { get; set; }
private bool Disabled => false;
private bool InternalDisabled => false;
}
问题是,我用来将这些权限显示为树视图的插件不允许children属性为空,就像在permissionsPages.Users.Create
,Pages.Users.Edit
和Pages.Tenants
中一样;所以,我需要它为空,而不是一个空列表。我该怎么做?AutomafROM位于哪个库?@KevinRaffay我从这里开始:。它还指向AutoMapper,在这里您可能希望签入配置选项以处理空值。
public List<PermissionDto> GetAllPermissions()
{
var permissions = ObjectMapper.Map<List<PermissionDto>>(_permissionManager.GetAllPermissions().Where(x => !x.Children.IsNullOrEmpty()));
return permissions;
}
{
"result": [
{
"parent": null,
"name": "Pages",
"displayName": "[Pages]",
"text": "Pages",
"value": "Pages",
"checked": false,
"children": [
{
"name": "Pages.Users",
"displayName": "Users",
"text": "Pages.Users",
"value": "Pages.Users",
"checked": false,
"children": [
{
"name": "Pages.Users.Create",
"displayName": "Users",
"text": "Pages.Users.Create",
"value": "Pages.Users.Create",
"checked": false,
"children": []
},
{
"name": "Pages.Users.Edit",
"displayName": "Users",
"text": "Pages.Users.Edit",
"value": "Pages.Users.Edit",
"checked": false,
"children": []
}
]
},
{
"name": "Pages.Tenants",
"displayName": "Tenants",
"text": "Pages.Tenants",
"value": "Pages.Tenants",
"checked": false,
"children": []
}
]
},
{
"parent": {
"name": "Pages",
//...