C# 当数据库模式更改未知时,是否也可以使用EF?

C# 当数据库模式更改未知时,是否也可以使用EF?,c#,sql-server,wpf,entity-framework,embedded-resource,C#,Sql Server,Wpf,Entity Framework,Embedded Resource,我正在实现一个WPF应用程序,它将SQL Server脚本文件嵌入为资源。要求将这些脚本放在最终的.exe文件中 用户界面允许执行在文本区域中输入的SQL脚本,并以特定数据库为目标(登录时选择服务器实例)。在某些情况下,目标数据库可能还不存在,因此WPF应用程序将使用其中一个嵌入式脚本来创建新的数据库。表及其列可以根据脚本版本进行更改 因此我们考虑不使用EF作为技术,因为DBContext在一个版本和下一个版本之间可能会过时(例如添加/删除/重命名的新字段)。新脚本由DB guys生成,理想情况

我正在实现一个WPF应用程序,它将SQL Server脚本文件嵌入为资源。要求将这些脚本放在最终的.exe文件中

用户界面允许执行在文本区域中输入的SQL脚本,并以特定数据库为目标(登录时选择服务器实例)。在某些情况下,目标数据库可能还不存在,因此WPF应用程序将使用其中一个嵌入式脚本来创建新的数据库。表及其列可以根据脚本版本进行更改

因此我们考虑不使用EF作为技术,因为DBContext在一个版本和下一个版本之间可能会过时(例如添加/删除/重命名的新字段)。新脚本由DB guys生成,理想情况下嵌入到解决方案中,而无需我们(.NET开发人员)的任何干预。作为数据层,我们实现了一个自定义解决方案,该解决方案与DB对话,并具有一个映射步骤,以向业务层提供Domanin模型实体


即使使用EF,是否有可能满足上述要求,或者在这种情况下,我们的方法更可取?

我认为,如果您不知道模式,EF的强度将丢失。您可能仍然能够执行动态SQL查询,但为此,可以使用更小的库。您希望使用EF的哪一部分?@smoksnes确实,不断变化的模式要求让我选择跳过EF。在理想情况下,应该使用代码优先的方法,并创建一个存储库作为数据访问层。这样我就不用自己做映射了。我认为如果你不知道模式,EF的强度就会丧失。您可能仍然能够执行动态SQL查询,但为此,可以使用更小的库。您希望使用EF的哪一部分?@smoksnes确实,不断变化的模式要求让我选择跳过EF。在理想情况下,应该使用代码优先的方法,并创建一个存储库作为数据访问层。这样我就不用自己绘制地图了。