gpt4 book ai didi

linq - npgsql LINQ 创建SQL Server sql语法

转载 作者:行者123 更新时间:2023-11-29 11:36:30 24 4
gpt4 key购买 nike

我正在尝试在 .NET v3.5 项目中将 LINQ 与 Npgsql 2.0.11 结合使用。我正在尝试从数据表进行我的第一个简单查询,我发现发送到 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 特定语法。

可能缺少什么?

最佳答案

DataContext

DataContext 是 LinqToSql。 LinqToSql 仅适用于 SqlServer。

也许您打算使用 LinqToEntities 和 ObjectContext?

关于linq - npgsql LINQ 创建SQL Server sql语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4787255/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com