gpt4 book ai didi

c# - 如何从现有的 .edmx 文件连接到数据库?

转载 作者:行者123 更新时间:2023-11-30 19:37:57 24 4
gpt4 key购买 nike

我们的构建工程师已前往另一家公司。

他把他的项目交给了我。但我通常不使用 EF 编写代码,所以我不知道,他使用像 EntityDataModel.edmx 这样的实体文件包含所有数据。

我不知道如何连接到这个。我通常通过 connectionString = ...etc 连接到 SQL Server .我还在他的应用程序中找到了这个字符串,例如:

<connectionStrings><add name="PCApp_TaxitechEntities" connectionString="metadata=res://*/EntityModel.EntityDataModel.csdl|res://*/EntityModel.EntityDataModel.ssdl|res://*/EntityModel.EntityDataModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=SDDMS-010\SQLEXPRESS;initial catalog=PCApp_Taxitech;user id=sa;password=;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" /></connectionStrings>

最佳答案

接手现有项目后,您应该做的第一件事就是熟悉该项目中使用的主要工具。如果不花一些时间来了解该工具,您就不会非常成功地破解基于重要工具(例如 Entity Framework)的项目。打开包含 EntityDataModel.edmx 文件的项目,查看引用资料,查看正在使用的 EntityFramework 版本,选择您最喜欢的学习方法(书籍、视频、博客文章等),并投入所需的时间了解如何使用该工具。

但这不是你问的问题。

app.config 文件的这一部分提供了您需要的线索:

data source=SDDMS-010\SQLEXPRESS;initial catalog=PCApp_Taxitech;user id=sa;password=(redacted);
  • 您正在寻找名为 PCApp_Taxitech 的数据库
  • 托管在 Microsoft SQL Server Express(不是您熟悉的工具和?花点时间仔细阅读)
  • 托管在名为 SDDMS-010 的机器上
  • 您有登录凭据:用户 ID = sa,密码 =(已编辑)

如果您可以访问 SDDMS-010 机器,那么您就可以正常工作了。您可以在 SQL Server Management Studio 中打开数据库(服务器名称:SDDMS-010\SQLEXPRESS,身份验证:SQL Server 身份验证,用户名:sa,密码:(已编辑))并开始四处查看。

如果您无权访问该机器,Entity Framework 可以为您创建数据库。

  1. Install SQL Server Express

  2. 找到包含 EntityModel.edmx 文件的项目,打开 app.config,然后编辑连接字符串。设置数据源、用户 ID 和密码以匹配您安装的 SQL Express 实例。

  3. 在 Visual Studio 中双击 EntityModel.edmx 文件。您应该会看到一个实体模型图。

  4. 右键单击图表上某处的空白区域。选择“从模型生成数据库”,然后单击出现的对话框中的选项。

  5. 一旦 Visual Studio 完成创建数据库,您现在可以使用 SQL Server Management Studio 连接到新安装的数据库实例并开始在您的数据库中探索。

  6. 如果您的数据库需要一些种子数据,您可能需要获取一些特定于项目的信息,了解如何在新数据库中正确填写该种子数据。

这样您就可以在使用 SSMS 时使用数据库。至于从代码连接,如果不先熟悉 Entity Framework,您很快就会失去运气。不过,一般来说,它是这样的:

  1. 如果 .edmx 文件与您的可执行文件位于不同的项目中,您可能需要编辑可执行文件项目中的 app.config 文件。设置数据源、初始目录、用户 ID 和密码以匹配您的数据库。

  2. 在 EntityModel.edmx 文件下,查找以 .Context.tt 结尾的文件。在该文件下,查找以 .Context.cs 结尾的文件。打开那个文件。

  3. 查找派生自 DbContext 的类。

  4. 创建该类的实例,并使用 Linq 查询访问该类提供的数据。

例如,您的类可能看起来像这样:

public partial class MyDataContext : DbContext
{
public MyDataContext()
: base("name=MyDataContext")

public virtual DbSet<MyEntity> MyEntities { get; set; }
}

您可以使用以下代码选择所有 MyEntities:

var context = new MyDataContext();
var data = from e in context.MyEntities
select e;

关于c# - 如何从现有的 .edmx 文件连接到数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36348968/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com