Suppose I have this table:
How can I get the column name and database datatype from DbContext in Entity Framework Core?
Tips
For those who arrived here, but are not using .NET CORE, like me. try this:
public partial class MyDbContext : System.Data.Entity.DbContext
{
public string GetTableName(Type entityType)
{
var sql = Set(entityType).ToString();
var regex = new Regex(@"FROM \[dbo\]\.\[(?.*)\] AS");
var match = regex.Match(sql);
return match.Groups["table"].Value;
}
public string[] GetColumnName(Type entityType)
{
var strs = new List();
var sql = Set(entityType).ToString();
var regex = new Regex(@"\[Extent1\]\.\[(?.*)\] AS");
var matches = regex.Matches(sql);
foreach (Match item in matches)
{
var name = item.Groups["columnName"].Value;
strs.Add(name);
}
return strs.ToArray();
}
}
maybe redundante, but it saves time.
antonio
- 热议问题