我在项目代码优先方法中使用实体框架6。从DbContext类型继承的上下文变量类。
我有这个代码:
var table = (IEnumerable)context.GetType().
GetProperty("TableName").
GetValue(context, null);
从上面的table
中,我需要通过它的名称来获取列的类型。
知道我该如何实现它吗?
您需要将表强制转换为IQueryable
,而不是IEnumerable
,并使用IQueryable.ElementType属性来获取所需信息,如以下
var table = (IQueryable)context.GetType().
GetProperty("TableName").
GetValue(context, null);
var propertyType = table.ElementType.GetProperty("PropertyName").PropertyType;