如何使用EF从我的类中获取属性

时间:2016-08-19 17:32:28

标签: c# entity-framework linq

我有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女巫将使用我在参数中提供的id获取pID的所有成员,并返回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; }
   }

1 个答案:

答案 0 :(得分:0)

最后可以运行一个select语句。

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