从EF Core中的运行时输入数据创建表



我有多个表格形式的表定义和数据。表定义也可能不时更改。

我想在运行时从Theese定义中创建EF核心表,然后从这些文件中填写它们。

如果可能的话,迁移也很不错。

这是可能的吗?

另外:是否有可能从databasecontext?

或我应该最好只使用普通(NPG)SQLCommands来创建,插入和更新?

我正在使用npgsql btw。

如果您只想执行自己的SQL来创建表,那么使用NPGSQLCommand(ado.net)或EF Core并不重要。EF Core实际上没有任何附加的值来执行这种RAW SQL,因此您最好只使用NPGSQLCommands。但是,确保您的EF核心代码模型与文本定义完全相对应是您的责任。您要么手动确保(通过维护准确对应的C#类模型),还是可以从定义创建的数据库中逆转工程模型)。

但是,迁移是完全不同的事情。如果这个想法是要保持外部表定义甚至不断发展,那么迁移并没有真正的意义 - 您的外部定义是您在架构上的真实性来源,并且一切都从中得出。如果您想与EF核心迁移一起工作,那么您的C#模型必须是您的单一真实来源 - 您对此进行更改并更新数据库。

请注意,从现有数据库中更新代码模型存在问题 - 这将使您可以在数据库上进行更改(通过外部定义?)并更新代码模型,而不是从scratch中重新生成。但是,这还没有实现。

相关内容

  • 没有找到相关文章

最新更新