基于模型定义连接LINQ表
本文关键字:定义 连接 LINQ 模型 于模型 | 更新日期: 2023-09-27 18:09:12
我想根据模型的定义使用linq连接表。我想要的例子:
from department in User.departments…
我的类是:
用户类:
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; }
}
我在用户类中创建this:
public bool hasDepartment(int DepartmentId, int UserId)
{
var test = from department in User.departments
//...
}
但是我有这个消息:'User'不包含'departments'的定义。
我正在创建一个ASP。NET MVC应用程序。我做错什么了吗?
User'不包含'departments'的定义
问题存在,因为Departments
不是User class
内部的静态集合,所以您需要User class
的对象来访问Departments ICollection
属性
由于在User class
中,将访问修改如下:
var test = from department in Departments
Or
`var test = from department in this.Departments`
思路相同,使用基于object
的访问而不是基于static
的访问
如果您的消息的拼写是准确的,那么错误的原因必须是departments
与较低的d
。类定义中的"Departments"属性是大写的D
。
public bool hasDepartment(int DepartmentId, int UserId)
{
var test = from department in Departments
...
}