C# 让孩子';查询中的子记录
我有以下实体(I18N是本地化实体): 我的问题是如何获取类别本地化信息(请参见查询中的注释)C# 让孩子';查询中的子记录,c#,entity-framework,C#,Entity Framework,我有以下实体(I18N是本地化实体): 我的问题是如何获取类别本地化信息(请参见查询中的注释) 有人知道怎么做吗?听起来像是你想要的 Name = x.Post.Category.CategoriesI18N.Any(c => c.LanguageCode == "en") ? x.Post.Category.CategoriesI18N.First(c => c.LanguageCode == "en").Name : string.Empty //
有人知道怎么做吗?听起来像是你想要的
Name = x.Post.Category.CategoriesI18N.Any(c => c.LanguageCode == "en")
? x.Post.Category.CategoriesI18N.First(c => c.LanguageCode == "en").Name
: string.Empty // or whatever default you want when a match is not found
或者这样做更有意义
CategoryDto = x.Post.Category.CategoriesI18N
.Where(c => c.LanguageCode == "en")
.Select(c => new CategoryDto {
Id = x.Category.Id,
Name = c.Name,
Slug = c.Slug
}).FirstOrDefault()
如果所有值应来自相同的类别18n
如果您仍然需要一个
类别,如果没有匹配项,您可以添加一个??新的分类到{…}
在FirstOrDefault()之后
听起来像是你想要的
Name = x.Post.Category.CategoriesI18N.Any(c => c.LanguageCode == "en")
? x.Post.Category.CategoriesI18N.First(c => c.LanguageCode == "en").Name
: string.Empty // or whatever default you want when a match is not found
或者这样做更有意义
CategoryDto = x.Post.Category.CategoriesI18N
.Where(c => c.LanguageCode == "en")
.Select(c => new CategoryDto {
Id = x.Category.Id,
Name = c.Name,
Slug = c.Slug
}).FirstOrDefault()
如果所有值应来自相同的类别18n
如果您仍然需要一个类别,如果没有匹配项,您可以添加一个??新CategoryTo{…}
在FirstOrDefault()之后
正如我在模型中看到的,Category和CategoryI18N实体之间存在一对多关系!因此,您必须为该方法编写一个子查询或另一个查询。正如我在模型中看到的,Category和CategoryI18N实体之间存在一对多关系!因此,您必须为该方法编写一个子查询或另一个查询。