Visual C # Express и база данных Oracle Express с использованием структуры сущностей - PullRequest
1 голос
/ 09 августа 2011

Я пытаюсь получить доступ к своей базе данных Oracle XE, используя Visual C # Express и платформу сущностей.

Я пытался установить oracleef (http://oracleef.codeplex.com/), но я не получаю поставщика Oracle EF внутриVisual C # Express добавляет мастер соединений 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 вместе?

Ответы [ 2 ]

1 голос
/ 09 августа 2011

Вы можете установить Oracle Instant Client с ODP.Net и добавить 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;
    }
}   
1 голос
/ 09 августа 2011

VS Express не поддерживает сторонние компоненты, такие как мастера подключения к БД. Вам придется настроить соединение вручную (и вручную создать модель сущностей ... поэтому я предлагаю вам сначала использовать EF Code)

...