【发布时间】:2016-02-11 14:13:48
【问题描述】:
我有以下类,我正在尝试从不同的相关类访问它的属性,如下所示:
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”不包含“NUTRITIONAL_INFO”的定义,并且找不到接受“ICollection”类型的第一个参数的扩展方法“NUTRITIONAL_INFO”(您是否缺少 using 指令或程序集引用?)
我在 Linq 中遗漏了什么吗?我是否试图跨越太多的关系?
【问题讨论】:
-
您可以访问 IngredientId 吗?或者你不能访问虚拟实体类型?
-
关键是堆栈跟踪中的
ICollection。事物的集合与单个事物不同。 -
能否展示相关的类?
-
延迟加载启用还是禁用?@rory
-
@AlperTungaArslan 延迟加载已启用
标签: sql asp.net-mvc entity-framework linq