diff --git a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/ContentService.cs b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/ContentService.cs
index c0c3320..f7ddd99 100644
--- a/server/MiAssessment/src/MiAssessment.Admin.Business/Services/ContentService.cs
+++ b/server/MiAssessment/src/MiAssessment.Admin.Business/Services/ContentService.cs
@@ -564,6 +564,16 @@ public class ContentService : IContentService
{ 1, "已上线" }
};
+ ///
+ /// 获取导航状态名称
+ ///
+ /// 状态值
+ /// 状态名称
+ private static string GetNavigationStatusName(int status)
+ {
+ return NavigationStatusNames.TryGetValue(status, out var name) ? name : "未知";
+ }
+
///
/// 验证 Position 值
///
@@ -612,11 +622,16 @@ public class ContentService : IContentService
LinkUrl = n.LinkUrl,
Sort = n.Sort,
Status = n.Status,
- StatusName = NavigationStatusNames.ContainsKey(n.Status) ? NavigationStatusNames[n.Status] : "未知",
CreateTime = n.CreateTime
})
.ToListAsync();
+ // 在内存中映射状态名称(避免 EF Core LINQ 翻译问题)
+ foreach (var item in items)
+ {
+ item.StatusName = GetNavigationStatusName(item.Status);
+ }
+
return PagedResult.Create(items, total, request.Page, request.PageSize);
}
@@ -634,7 +649,6 @@ public class ContentService : IContentService
LinkUrl = n.LinkUrl,
Sort = n.Sort,
Status = n.Status,
- StatusName = NavigationStatusNames.ContainsKey(n.Status) ? NavigationStatusNames[n.Status] : "未知",
CreateTime = n.CreateTime
})
.FirstOrDefaultAsync();
@@ -644,6 +658,9 @@ public class ContentService : IContentService
throw new BusinessException(ErrorCodes.NavigationNotFound, "首页导航不存在");
}
+ // 在内存中映射状态名称
+ nav.StatusName = GetNavigationStatusName(nav.Status);
+
return nav;
}