【发布时间】:2014-03-17 19:48:11
【问题描述】:
我一直在寻找一种将属性添加到我的实体类属性的方法,而我发现的唯一方法就像在这个示例中一样 Adding custom property attributes in Entity Framework code
所以我将它应用到我的项目中,看起来它应该运行良好,但是当我试图通过属性属性进行反映时,我得到了 null。 我已经多次检查我的代码,但无法弄清楚为什么会发生这种情况。
我的代码示例: 在实体基础模型中:
public partial class Trainer
{
public Trainer()
{
this.Subjects = new HashSet<Subject>();
}
public int ID { get; set; }
public int PersonalDataID { get; set; }
public virtual PersonalData PersonalData { get; set; }
public virtual ICollection<Subject> Subjects { get; set; }
}
在我的部分课程中:
[MetadataType(typeof(Trainer.TrainerMetadata))]
public partial class Trainer
{
internal class TrainerMetadata
{
[Search("PersonalData", true)]
public virtual PersonalData PersonalData { get; set; }
[Search("Subject", true)]
public virtual ICollection<Subject> Subjects { get; set; }
}
}
我用于反射的代码:
foreach (PropertyInfo pI in typeof(Trainer).GetProperties())
{
//sAttr always == null
SearchAttribute sAttr = pI.GetCustomAttributes(typeof(SearchAttribute))
.FirstOrDefault() as SearchAttribute;
}
我们将不胜感激。
【问题讨论】:
-
请发布您的代码
-
完成我已经编辑了我的帖子
-
"试图通过属性来反映我得到了 null"
-
是的,现在它已经被编辑了
标签: c# entity-framework