public class MyContext: DbContext
{
public MyContext() : base("VidallyEF") {}
public DbSet<User> Users { get; set; }
public DbSet<Role> Roles { get; set; }
public DbSet<Contest> Contests { get; set; }
public DbSet<Comment> Comments { get; set; }
public DbSet<Submission> Submissions { get; set; }
}
MyContext のプロパティを反復処理してから、それらの各プロパティのプロパティを反復処理しようとしています。私はこれを持っています:
foreach (var table in typeof(MyContext).GetProperties())
{
// TODO add check that table is DbSet<TEntity>..not sure..
PropertyInfo[] info = table.GetType().GetProperties();
foreach (var propertyInfo in info)
{
//Loop
foreach (var attribute in propertyInfo.GetCustomAttributes(false))
{
if (attribute is MyAttribute)
{
//do stuff
}
}
}
}
問題は、MyContext のプロパティがジェネリックであるため、GetType().GetProperties() が基になるオブジェクトのプロパティを返さないことです。User および Role オブジェクトに到達する方法について説明します。
どんな助けでも大歓迎です、
ありがとう