【发布时间】:2017-03-21 15:21:21
【问题描述】:
我遇到了该描述的问题:
EntityFramework.dll 中出现“System.ArgumentException”类型的异常,但未在用户代码中处理。
附加信息:包含路径表达式必须引用在类型上定义的导航属性。对引用导航属性使用虚线路径,对集合导航属性使用 Select 运算符。
当我调用我的 Getall 方法时出现问题
var gruppi = GroupHelper.GetAll().OrderBy(a => a.Order);
GetAll 方法:
public new static ICollection<Group> GetAll()
{
using (var provider = new GroupProvider())
{
provider.QAll().Include
(a => a.RoleGroup.Select(c => c.Role)).
Include(a=>a.GroupLanguage.Select(b=>b.Language).
Where(c=>c.LanguageName=="ENG")).ToList();
}
}
GroupLanguage 和 RoleGroup 的属性如下:
public class GroupLanguage
{
[Key, Column(Order = 1)]
public Guid LanguageID { get; set; }
[Key, Column(Order = 2)]
public int GroupID { get; set; }
[ForeignKey("LanguageID")]
public Language Language { get; set; }
[ForeignKey("GroupID")]
public Group Group { get; set; }
}
public class RoleGroup
{
[Key, Column(Order = 1)]
public Guid RoleId { get; set; }
[Key, Column(Order = 2)]
public int GroupId { get; set; }
[ForeignKey("RoleId")]
public Role Role { get; set; }
[ForeignKey("GroupId")]
public Group Group { get; set; }
}
知道为什么会这样吗?
【问题讨论】:
-
添加 try-catch 块可能会帮助您找出解决此问题的步骤。到目前为止,您尝试过什么?
-
@confusedandamused 我试图拆分查询但没有成功,我得到了同样的异常
标签: c# entity-framework