【问题标题】:Visual C# Express and Oracle database Express using entity framework使用实体框架的 Visual C# Express 和 Oracle 数据库 Express
【发布时间】:2011-08-09 12:36:32
【问题描述】:

我正在尝试使用 Visual C# Express 和实体框架访问我​​的 Oracle XE 数据库。

我尝试安装 oracleef (http://oracleef.codeplex.com/),但我没有在 Visual C# Express 添加 EF 连接向导中获取 Oracle EF 提供程序,尽管 machine.config 包含

<DbProviderFactories>
  <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description="Oracle Data Provider for .NET" type="Oracle.DataAccess.Client.OracleClientFactory, Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342" />
  <add name="Microsoft SQL Server Compact Data Provider" invariant="System.Data.SqlServerCe.3.5" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=3.5.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</DbProviderFactories>

我曾尝试使用 EdmGen2.exe 从数据库手动生成 EF 类,但收效甚微。

如何同时使用 Oracle 数据库、Visual C# Express 和 Entity Framework?

【问题讨论】:

  • 如果有人感兴趣,我的最终解决方案是使用 NHibernate、FluentNHibernate 和 NHibernateMappingGenerator。

标签: oracle entity-framework visual-c#-express-2010


【解决方案1】:

VS Express 不支持第三方组件,例如数据库连接向导。您将不得不手动配置连接(并手动创建实体模型...所以我建议您使用 EF Code First)

【讨论】:

  • 我们如何做到这一点? “手动配置连接”,究竟如何?
【解决方案2】:

您可以使用 ODP.Net 安装 oracle Instant Client 并添加 Oracle.DataAccess 作为对您项目的引用。 之后,您可以连接到您的数据库,如下所示:

using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;

private OracleConnection Connect = new OracleConnection();

public int OracleConnect(string hostname, string username, string password, string servicename)
{
    Connect.ConnectionString = "Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=" + hostname + ") (PORT=1521))(CONNECT_DATA=(SERVICE_NAME=" + servicename + ")));" + "User Id=" + username + ";Password=" + password + ";";
    try
    {
        Connect.Open();
        return 0;

    }
    catch (OracleException OracleExeption)
    {
        return -1;
    }
}   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多