我有一个 POCO 实体,如下所示:
public class Entity {
public int Id { get; set; }
public int? OtherEntityId { get; set; }
public virtual OtherEntity OtherEntity { get; set; }
}
代码优先配置如下:
conf.HasKey(e => e.Id).ToTable("entities");
conf.Property(e => e.Id).HasDatabaseGeneratedOption(DatabaseGeneratedOption.Identity);
conf.HasOptional(e => e.OtherEntity).WithMany().HasForeignKey(e => e.OtherEntityId);
我希望能够在运行时检索数据库生成的选项和 FK 属性。例如,我可以像这样动态检索主键属性:
var keyProperties = objectContext.CreateObjectSet<Entity>()
.EntitySet
.ElementType
.KeyMembers
.Select(km => typeof(Entity).GetProperty(km.Name));
.ToList()
我该怎么做(我使用的是 EF 4.3.1)?