gpt4 book ai didi

visual-studio - 如何添加可在 Visual Studio 中访问的自定义数据库提供程序?

转载 作者:行者123 更新时间:2023-11-29 11:12:34 24 4
gpt4 key购买 nike

我想在 Visual Studio 中使用自定义数据库提供程序。我需要它来使用 Entity Framework。

比如我下载了NpgSQL,在 GAC 中注册它们:

gacutil  -i  c:\temp\npgsql.dll
gacutil -i c:\temp\mono.security.dll

并添加到 machine.config 文件中:

<add name="Npgsql Data Provider"
invariant="Npgsql" support="FF"
description=".Net Framework Data Provider for Postgresql Server"
type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.6.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />

但是Npgsql并没有出现在Visual Studio的Datasource列表中:

Data source in VS

如何将自定义数据库提供程序添加到此列表?

UPD:如果我使用命令字符串 edmgen.exe 我得到错误:

error 7001: Failed to find or load the registered .Net Framework Data Provider.

最佳答案

您需要在配置文件(Web.config、Machine.config 等)中声明 DbFactoryProvider。这是我从一个使用 MySQL 的项目中提取的示例:

<system.data>  <DbProviderFactories>    <remove invariant="MySql.Data.MySqlClient"/>    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d"/>  </DbProviderFactories></system.data>

我也更喜欢在应用程序级配置文件中声明这些,并让我的应用程序使用程序集的本地副本。这有助于提高可移植性,因为我们不能保证第 3 方提供程序在 GAC 中可用。

关于visual-studio - 如何添加可在 Visual Studio 中访问的自定义数据库提供程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4898476/

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