如何return虚拟属性PropertyInfo?

How to return Virtual Attribute PropertyInfo?

我很难 return 在我的实体模型中设置虚拟值的属性,有人知道我如何 return 这个虚拟属性的 PropertyInfo 吗?

我有以下实体:

实体

public class Company 
{
   public int Id { get; set; }
   public string Name { get; set; }
   public virtual Owner Owner { get; set; }
}

public class Owner
{
   public int Id { get; set; }
   public string Name { get; set; }
   public string Email { get; set; }
}

但是,当return在模型公司中输入 Owner PropertyInfo 时,我无法访问 Owner 模型的属性。

基本示例:

public PropertyInfo GetPropertyInfo()
{
   Type tType = typeof(Company);
   PropertyInfo prop = tType.GetProperty("Owner.Name");

   return prop;
}

The variable prop returns null

我是不是忘记实现了什么?

你需要先得到Owner 属性然后通过它得到Name:

var owner = tType.GetProperty("Owner");

var name = owner.PropertyType.GetProperty("Name");

或者如果你有权限直接获取Owner:

var name = typeof(Owner).GetProperty("Name");