使用实体框架的Visual C#Express和Oracle database Express

使用实体框架的Visual C#Express和Oracle database Express,oracle,entity-framework,visual-c#-express-2010,Oracle,Entity Framework,Visual C# Express 2010,我正在尝试使用Visual C#Express和实体框架访问我的Oracle XE数据库 我已尝试安装oracleef(),但我无法在Visual C#Express添加EF连接向导中获得Oracle EF提供程序,尽管machine.config包含 <DbProviderFactories> <add name="Oracle Data Provider for .NET" invariant="Oracle.DataAccess.Client" description

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

我已尝试安装oracleef(),但我无法在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结合使用?

VS Express不支持第三方组件,如数据库连接向导。您必须手动配置连接(并且手动创建实体模型…因此我建议您首先使用EF代码)

您可以使用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;
    }
}   

如果有人对此感兴趣,我的最终解决方案是使用NHibernate、FluentNHibernate和NHibernateMappingGenerator。我们如何做到这一点?“手动配置连接”,具体如何?