查找 class 的 KeyAttribute,使用 HasKey 方法定义
Find KeyAttribute of a class, defined using HasKey method
我正在使用 Entity Framework Power Tools 生成数据库模型 classes。
它使用 HasKey() 方法来定义 class 的键属性。
在我的应用程序代码中使用它时,有什么方法可以找到 class 的关键属性吗?
有什么方法可以检查特定属性是否是关键属性?
public class MyTableMap : EntityTypeConfiguration<MyTable>
{
public MyTableMap()
{
// Primary Key
this.HasKey(t => t.RecordID);
}
}
我正在尝试使用以下方法查找关键属性,但它不起作用
if (propertyInfoObj.GetCustomAttributes(false).Any(x => x.GetType() == typeof(KeyAttribute)))
我使用以下方法解决了我的问题:
ObjectContext objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
ObjectSet<Entity> set = objectContext.CreateObjectSet<Entity>();
IEnumerable<string> keyNames = set.EntitySet.ElementType
.KeyMembers
.Select(k => k.Name);
string keyName = keyNames.FirstOrDefault();
对象 属性 and/or 值可以通过 keyName 使用反射访问。
我正在使用 Entity Framework Power Tools 生成数据库模型 classes。 它使用 HasKey() 方法来定义 class 的键属性。 在我的应用程序代码中使用它时,有什么方法可以找到 class 的关键属性吗? 有什么方法可以检查特定属性是否是关键属性?
public class MyTableMap : EntityTypeConfiguration<MyTable>
{
public MyTableMap()
{
// Primary Key
this.HasKey(t => t.RecordID);
}
}
我正在尝试使用以下方法查找关键属性,但它不起作用
if (propertyInfoObj.GetCustomAttributes(false).Any(x => x.GetType() == typeof(KeyAttribute)))
我使用以下方法解决了我的问题:
ObjectContext objectContext = ((IObjectContextAdapter)dbContext).ObjectContext;
ObjectSet<Entity> set = objectContext.CreateObjectSet<Entity>();
IEnumerable<string> keyNames = set.EntitySet.ElementType
.KeyMembers
.Select(k => k.Name);
string keyName = keyNames.FirstOrDefault();
对象 属性 and/or 值可以通过 keyName 使用反射访问。