如何从我的类EF获取属性

本文关键字:EF 获取 属性 我的 | 更新日期: 2023-09-27 18:03:20

我有3个类,2个是简单类,1个是两者的组合。

public class Person:Base
{
    public DateTime DOB { get; set; }
    public string first { get; set; }
    public string last { get; set; }
}
public class Roles:Base
{
    public string Description { get; set; }
}
public class RolePerson:Base
{
    public int pID { get; set; }
    public virtual Person PersonID { get; set; }
    public int rID { get; set; }
    public virtual Roles RoleID { get; set; }
    public int order { get; set; }
}

现在我有一个方法,可以选择RolePerson,它会抓取pID的所有成员,我在参数中提供的id,并返回RoleID字段。

这就是我的方法的样子

    public IEnumerable<Roles> PersonRoles(int personID)
    {
        return db.RolePerson.Where<RolePerson>((p) => p.pID == personID);
    }

我怎么能说返回角色而不是角色人呢

更新:

我的基类如下

public abstract class Base
    {
        public int ID { get; set; }
        public Boolean isValid { get; set; }
        public DateTime createdOn { get; set; }
        public int createdID { get; set; }
        public Person createdPerson { get; set; }
        public DateTime updatedOn { get; set; }
        public int updatedID { get; set; }
        public Person updatedPerson { get; set; }
   }

如何从我的类EF获取属性

可以在最后运行select语句

return d.RolePerson.Where(p => p.PId == personID).Select(r=> r.RoleID);