2011-08-09 14 views
1

Visual C#Expressおよびエンティティ・フレームワークを使用してOracle XEデータベースにアクセスしようとしています。エンティティ・フレームワークを使用するVisual C#ExpressおよびOracleデータベースExpress

のmachine.config私はEdmGen2を使用してみました

<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> 

が含まれているものの、EF接続ウィザードを追加し、私は(http://oracleef.codeplex.com/)をoracleefインストールしようとしましたが、私は、Visual C#Expressの内部でOracleのEFプロバイダが届きません。データベースからEFクラスを手動で生成するためのexeですが、ほとんど成功しませんでした。

Oracleデータベース、Visual C#ExpressおよびEntity Frameworkを一緒に使用するにはどうすればよいですか。

+0

、私のための最終的な解決策は、NHibernateは、FluentNHibernateとNHibernateMappingGeneratorを使用していました。 – Emir

答えて

1

VS Expressは、DB接続ウィザードなどのサードパーティコンポーネントをサポートしていません。手動で接続を構成する必要があります(エンティティ・モデルを手動で作成する必要があります)。

+0

どうすればいいですか? "手動で接続を設定する"、どのように正確に? –

1

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; 
    } 
} 
関連する問題