如何在运行时首先在实体框架代码中获得实体类的属性

本文关键字:实体 属性 框架 运行时 代码 | 更新日期: 2023-09-27 18:13:47

我有DB上下文和实体类定义如下:

public class DBContext : DbContext
{
    public DBContext()
        : base("name=DbConnectionString")
    { }
    public virtual DbSet<Foo> Foos { get; set; }
}
public class Foo
{
    [Key]
    public long FooID { get; set; }
    public string Bar1 { get; set; }
    public string Bar2 { get; set; }
}

我试图在运行时获得类Foo的属性。我试过反思:

DBContext db = new DBContext(dbConnString);
db.Database.CreateIfNotExists();
List<PropertyInfo> properties = db.Foos.GetType().GetProperties();

这段代码无法编译。我如何获得类Foo的属性?谢谢!

如何在运行时首先在实体框架代码中获得实体类的属性

谢谢大家。解决方案如下:

DBContext db = new DBContext(dbConnString);
db.Database.CreateIfNotExists();
PropertyInfo[] properties = typeof(Foos).GetProperties();
foreach (var prop in properties)
{
    process(prop.Name);
}