【发布时间】:2015-06-24 19:23:17
【问题描述】:
我有许多表具有相同的模型结构,但其他表名和其他数据(在这种情况下将是约 100 个表)。我想在运行时使用实体框架动态切换表名(例如从路由中获取名称表)。数据库中的表是由其他脚本动态添加和删除的。有没有办法做到这一点,而且性能很好?
db.Table("TableName")<SpecificModel>.Where(x => x.ID == ID)
【问题讨论】:
-
我不禁想知道您为什么不将表格规范化为一张表格?如果它们都是相同的结构...
-
最简单的方法就是规范化,但我不能在这个项目中做到这一点。表格需要分开
-
为了做你想做的事,你需要用创建的表的新元数据更新你的 edmx 文件。我不知道在运行时执行此操作的方法,因为更新 edmx 文件需要重新构建,因为会生成新代码。我认为实体框架目前不支持你正在尝试做的事情。
-
你能给我们一个正在创建的表的例子吗?每个表之间的数据是否发生了根本变化?每个表的意义是什么,即每个表代表什么?
-
表结构与每个表的模型(之前称为“SpecificModel”)相同。它们的不同之处在于表名,如“Company_A”、“Company_B”、“Company_C”和此表中的数据,但结构不同。当然,我可以在这里粘贴所有带有 sql 脚本的模型以生成表(从 EF Code First 中获取),但我认为这没有必要,并且可以模糊我的问题的重点
标签: c# sql-server asp.net-mvc entity-framework