我想在.NET v3.5項目中使用帶有Npgsql 2.0.11的LINQ。我正在嘗試從數據表開始我的第一個簡單查詢,並且我發現發送到Postgresql的語法是SQL Server語法,而不是Pgsql語法,導致服務器拋出語法錯誤。npgsql LINQ創建SQL Server sql語法
我已經加入了工廠代項目的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>
^h ERE是一個片段:
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>();
我發現工廠是Npgsql.NpgsqlFactory的一個實例(似乎是正確的),並連接是Npgsql.NpgsqlConnection的一個實例。一切似乎都很好。但是,當我嘗試GetTable時,生成的SQL語法包含方括號和各種其他SQL Server特定語法。
什麼可能會丟失?
你困惑。 Linq不是實體框架的一部分。 – 2011-01-25 18:10:50