如果我首先使用 EF 5 和数据库来生成我的数据库的 .edmx 模型,我如何获取实体列的列表?
using (var db = new ProjectNameContext())
{
// string[] colNames = db.Users.
}
我正在寻找的是 colNames[0] == "Id"、colNames[1] == "FirstName" 等。
如果我首先使用 EF 5 和数据库来生成我的数据库的 .edmx 模型,我如何获取实体列的列表?
using (var db = new ProjectNameContext())
{
// string[] colNames = db.Users.
}
我正在寻找的是 colNames[0] == "Id"、colNames[1] == "FirstName" 等。
怎么样:
var names = typeof(User).GetProperties()
.Select(property => property.Name)
.ToArray();
当然,这可以用于任何类型,而不仅仅是 EF 表。
var res = typeof(TableName).GetProperties()
.Select(property => property.Name)
.ToArray();
或者
var res = dbContext.Model.FindEntityType(typeof(TableName))
.GetProperties().Select(x => x.Relational().ColumnName)
.ToList();
var index = 0;
var propertyInfo = res[index].PropertyInfo;
var columnName = res[index].Relational().ColumnName;
var propertyName = propertyInfo.Name;
var propertyValue = propertyInfo.GetValue(sourceObject); // NEED OBJECT TO GET VALUE