我有Article
和ArticleTranslation
表。
当我使用此查询时,它不会检索数据:
model.CategoryList = await db.ArticleCategoryTranslations
.Where(x => x.LangId == lang.Id &&
x.ArticleCategory.IsActive.Value == true &&
x.ArticleCategory.IsDelete.Value == false)
.Select(x => new ddl { Id = x.RecordId.Value, Name = x.Title }).ToListAsync();
但是当我使用它时,它起作用了,请告诉我第一个代码中有什么问题
model.CategoryList = await db.ArticleCategoryTranslations
.Where(x => x.LangId == lang.Id &&
db.ArticleCategorys.Where(u => u.Id == x.RecordId).FirstOrDefault().IsActive == true &&
db.ArticleCategorys.Where(u => u.Id == x.RecordId).FirstOrDefault().IsDelete == false
)
.Select(x => new ddl { Id = x.RecordId.Value, Name = x.Title }).ToListAsync();
答案 0 :(得分:0)
我不知道模型对象的属性是什么样子,但是比较我在成功的示例中看到的两个代码段,IsActive
和IsDelete
属性不会调用Value属性,即{ {1}}和IsActive.Value
。
因此您的代码应类似于
IsDelete.Value
这假设您已正确完成导航属性。