附加到较新版本的 LocalDb 时防止更新 MDF 文件
Prevent update of MDF file when attaching to newer version of LocalDb
我有使用 EF6 的 WinForms 应用程序。该应用程序使用 LocalDb
存储空间 (2014),因为我需要它在 Windows 7 到 Windows 10 之间工作。
它在应用程序文件夹中随 .mdf
文件一起交付,并通过连接字符串附加它。
当我将 .mdf
文件(在 SQL Server 2014 Express 中创建)附加到较新版本的 SQL Server Express 时,.mdf
已升级并且我不能再将其移植回 Windows 7。这阻止了我在多台机器上开发应用程序,因为我无法使用 .mdf
制作应用程序的发布副本,因为它不再适用于 Windows 7。
唯一的方法是在所有开发人员机器上使用 SQL Server 2014 Express。
连接字符串中是否有防止升级的方法,或者 .mdf
文件在 SQL Server Express 的较新版本上工作所需的方法?
我现在正在考虑在第一个应用程序启动时以编程方式创建 .mdf
文件并执行脚本以创建表格和种子数据,然后附加该文件。而且我不需要考虑在那台机器上使用的 LocalDb 版本。
否 - 您不能阻止或排除 .mdf
在附加到较新的服务器实例时升级到当前内部数据库版本。
您需要在参与开发的所有机器上使用相同版本的SQL服务器(Express/LocalDB)——或者您需要升级现有的通过 SQL 脚本 或 Entity Framework 迁移(或不依赖内部 SQL服务器数据库版本)。
我有使用 EF6 的 WinForms 应用程序。该应用程序使用 LocalDb
存储空间 (2014),因为我需要它在 Windows 7 到 Windows 10 之间工作。
它在应用程序文件夹中随 .mdf
文件一起交付,并通过连接字符串附加它。
当我将 .mdf
文件(在 SQL Server 2014 Express 中创建)附加到较新版本的 SQL Server Express 时,.mdf
已升级并且我不能再将其移植回 Windows 7。这阻止了我在多台机器上开发应用程序,因为我无法使用 .mdf
制作应用程序的发布副本,因为它不再适用于 Windows 7。
唯一的方法是在所有开发人员机器上使用 SQL Server 2014 Express。
连接字符串中是否有防止升级的方法,或者 .mdf
文件在 SQL Server Express 的较新版本上工作所需的方法?
我现在正在考虑在第一个应用程序启动时以编程方式创建 .mdf
文件并执行脚本以创建表格和种子数据,然后附加该文件。而且我不需要考虑在那台机器上使用的 LocalDb 版本。
否 - 您不能阻止或排除 .mdf
在附加到较新的服务器实例时升级到当前内部数据库版本。
您需要在参与开发的所有机器上使用相同版本的SQL服务器(Express/LocalDB)——或者您需要升级现有的通过 SQL 脚本 或 Entity Framework 迁移(或不依赖内部 SQL服务器数据库版本)。