gpt4 book ai didi

sql - Linq 看不到属性

转载 作者:行者123 更新时间:2023-12-02 08:22:46 24 4
gpt4 key购买 nike

我有以下类,我正在尝试从不同的相关类访问它的属性,如下所示:

var nuInfo = recipe.RECIPE_INGREDIENT
.Select(i => i.INGREDIENT.INGREDIENT_NUTRITIONAL_INFO)
.Where(ni => ni.NUTRITIONAL_INFO.Main == 1);

但是,我无法访问 INGREDIENT_NUTRITIONAL_INFO 的任何(虚拟或非虚拟)属性。

INGREDIENT_NUTRITIONAL_INFO类如下:

 public class INGREDIENT_NUTRITIONAL_INFO
{
public int IngredientId { get; set; }
public int Nutritional_InfoId { get; set; }
public double Amount { get; set; }
public DateTime DateSubmitted { get; set; }
public DateTime DateModified { get; set; }
public string SubmittedBy { get; set; }
public string ModifiedBy { get; set; }

public virtual AspNetUsers AspNetUsers { get; set; }
public virtual AspNetUsers AspNetUsers1 { get; set; }
public virtual INGREDIENT INGREDIENT { get; set; }
public virtual NUTRITIONAL_INFO NUTRITIONAL_INFO { get; set; }
}

错误代码如下:

CS1061 'ICollection' does not contain a definition for 'NUTRITIONAL_INFO' and no extension method 'NUTRITIONAL_INFO' accepting a first argument of type 'ICollection' could be found (are you missing a using directive or an assembly reference?)

我在 Linq 中遗漏了什么吗?我是否试图遍历太多关系?

最佳答案

错误是因为您没有在查询末尾添加 .First().FirstOrDefault():

var nuInfo = recipe.RECIPE_INGREDIENT.Select(i => i.INGREDIENT.INGREDIENT_NUTRITIONAL_INFO)
.Where(ni => ni.NUTRITIONAL_INFO.Main == 1)

您的代码正在尝试将 NUTRITIONAL_INFO 作为集合的属性进行访问,而不是作为集合中成员的属性进行访问。

关于sql - Linq 看不到属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341656/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com