我想基于模型的定义使用linq连接表。我想要的例子:
来自User.departments部门的
我的课程是:
USER CLASS:
public class User
{
public User() {
Departments = new List<Department>();
}
public int UserId { get; set; }
public string UserName { get; set; }
public virtual ICollection<Department> Departments { get; set; }
}
部门类:
public class Department
{
public int DepartmentId { get; set; }
public string DepartmentName { get; set; }
public virtual User User { get; set; }
}
我在用户类中创建了这个:
public bool hasDepartment(int DepartmentId, int UserId)
{
var test = from department in User.departments
//...
}
但我收到此消息: &#39;用户&#39;不包含&#39;部门的定义&#39;
我正在创建一个ASP.NET MVC应用程序。我做错了吗?
答案 0 :(得分:1)
如果您的邮件拼写完全正确,则错误原因必须为departments
d
。类定义中的“部门”属性为大写D
。
答案 1 :(得分:1)
用户&#39;不包含&#39;部门&#39;
的定义
问题存在,因为User class
不是User class
内的静态集合,因此您需要Departments ICollection
的对象才能访问User class
属性
由于在var test = from department in Departments
中,请按如下方式修改访问权限:
`var test = from department in this.Departments`
或
object
理念相同,基于static
的访问权限而不是{{1}}访问权限
答案 2 :(得分:0)
public bool hasDepartment(int DepartmentId, int UserId)
{
var test = from department in Departments
...
}