EF コンテキストの拡張機能を使用して、Mission
エンティティのすべてのプロパティを含めることができますRequiredAttribute
。
public static IQueryable<Mission> MissionWithRequired(this IDbContext context)
{
return context.Missions
.Include(mission => mission.Theme)
.Include(mission => mission.Contact)
.Include(mission => mission.Editor);
}
その作品はうまくいきます。
それをリファクタリングするというアイデア - だけでMissions
なく、他のエンティティーと一緒に使用できるようにすること。
RequiredAttribute
私の最初のステップは、 usingでマークされているプロパティを読み取ることReflection
です。しかし、それはうまくいきません:
public static IQueryable<Mission> MissionWithRequired(this IOrgDatenbankContext context)
{
var requiredProperties = typeof(Mission).GetProperties()
.Where(property => Attribute.IsDefined(property, typeof(RequiredAttribute)));
foreach (var requiredProperty in requiredProperties)
{
context.Missions.Include(requiredProperty.Name);
}
return context.Missions;
}
をcontext
含むMissions
が含まない、およびTheme
Contract
Editor