Я пытаюсь использовать LINQ с Npgsql 2.0.11 в проекте .NET v3.5.Я пытаюсь выполнить первый простой запрос из таблицы данных и обнаружил, что синтаксис, отправляемый в Postgresql, - это синтаксис SQL Server, а не синтаксис Pgsql, в результате чего сервер выдает синтаксическую ошибку.
У меня естьдобавил заводское поколение в файл App.config проекта, как предлагается в документации: <system.data>
<DbProviderFactories>
<add name="Npgsql Data Provider" invariant="Npgsql" support="FF" description=".Net Framework Data Provider for Postgresql" type="Npgsql.NpgsqlFactory, Npgsql, Version=2.0.11.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7"/>
</DbProviderFactories>
</system.data>
Вот фрагмент:
DbProviderFactory factory = DbProviderFactories.GetFactory("Npgsql");
DbConnection connection = factory.CreateConnection();
connection.ConnectionString = "Server=mydbhost.example.com;UserId=postgres;Database=postgres";
table = new DataContext(connection).GetTable<Project.Model.MyEntity>();
Я обнаружил, что factory является экземпляром Npgsql.NpgsqlFactory (кажется правильным), и connection является экземпляром Npgsql.NpgsqlConnection.Все это кажется хорошим.Однако, когда я пытаюсь получить GetTable, сгенерированный синтаксис SQL содержит квадратные скобки и различные другие специфические синтаксис SQL Server.
Чего не хватает?