我正在尝试基于现有的 MySQL 数据库创建一个 EF 模型。创建实体后,我使用以下方法对其进行映射:
[Table("databaseName.tableName")]
或者 :
modelBuilder.Entity<Lang>().ToTable("tableName")
在OnModelCreating
.
我遇到的问题是表名可能有一个意外的前缀。我想要做的是,在不知道前缀的情况下,搜索数据库中的任何表:
(类似)EndsWith("tableName")
使用它,或者:
哪个名称与 a 匹配Regex
。
这是可行的吗?另一种方法是向用户询问特定于他/她的数据库的 TablePrefix 并使用它(modelBuilder.Entity<Lang>().ToTable(prefix + "tableName"
),但这会很不方便。由于前缀是唯一可以从数据库更改为另一个的东西,因此能够通过名称检测表将非常有帮助。