我的 WPF/EntityFramework 应用程序在其他计算机上不起作用
本文关键字:其他 计算机 不起作用 应用程序 WPF EntityFramework 我的 | 更新日期: 2023-09-27 17:55:54
我创建了一个WPF应用程序,该应用程序首先在LocalDb上使用实体框架/代码(我已经在"模型"目录上创建了数据库,一切似乎都很好)。
它在我的笔记本电脑上效果很好,我想与我的朋友分享,但它不起作用。我想我在另一台计算机上有一个SQL错误,但它没有显示它。它只是显示一个窗口应用程序错误...我认为这是我尝试加载数据库上下文的时候。
我的数据库上下文:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;
namespace ModernUINavigationApp1.Model
{
class Supcontext : DbContext
{
public DbSet<InfosConnexion> InfosConnexions { get; set; }
public DbSet<InfosFichiers> InfosFiles { get; set; }
public DbSet<Log> Logs { get; set; }
}
}
我的应用配置:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</configSections>
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="mssqllocaldb" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
</configuration>
编辑:
安装了 localDb,我可以在每台计算机上构建和运行新的实体框架解决方案,并在每台计算机的服务器资源管理器(在 Visual Studio 上)上查看 localdb。在我的解决方案(我尝试共享的解决方案)和另一台计算机上,我已经删除了 app.config,删除并重新导入实体框架,并在控制台上启用迁移和更新数据库,然后它可以工作,但我认为这不是正确/更好的解决方案。
如果从其他计算机打开具有实体框架(和 localdb)的现有 Visual Studio 解决方案,则必须通过以下方式从此解决方案中删除实体框架:
- 右键单击解决方案(在 Visual Studio 中的"解决方案资源管理器"上),
- 选择数据包管理器
- 删除实体框架并重新安装(也在数据包管理器中)。
这将生成具有正确线路配置的新app.config
,并且它应该可以工作。
此答案是作为对问题的编辑发布的 我的WPF/实体框架应用程序在其他计算机上由 CC BY-SA 3.0 下的 OP Nimp 提供。