C# 如何使用Linqpad在C语句/程序中运行SQL查询?

C# 如何使用Linqpad在C语句/程序中运行SQL查询?,c#,linqpad,C#,Linqpad,如何使用Linqpad在C语句或C程序中运行SQL查询 是的,出于兼容性原因,我必须将SQL语句与Linq混合使用。我将linqpad与postgres驱动程序一起使用,但这些驱动程序无法识别postgres的hstore。我已经知道我可以使用classic SQL获取这些被忽略的列。您是否尝试在LINQPad中设置连接?有一个可供PostgreSQL下载的驱动程序吗?设置连接后,您可以运行SQL或C我找到了部分解决方案: this.Command.CommandText = "select *

如何使用Linqpad在C语句或C程序中运行SQL查询


是的,出于兼容性原因,我必须将SQL语句与Linq混合使用。我将linqpad与postgres驱动程序一起使用,但这些驱动程序无法识别postgres的hstore。我已经知道我可以使用classic SQL获取这些被忽略的列。

您是否尝试在LINQPad中设置连接?有一个可供PostgreSQL下载的驱动程序吗?设置连接后,您可以运行SQL或C

我找到了部分解决方案:

this.Command.CommandText = "select * from items LIMIT 50;";
var result = this.Command.ExecuteReader().Dump();
但是结果变量是一个IDataReader。。。不是收藏。奇怪的是Dump方法正确地显示了一个网格。

您可以使用LinqPad上的ExecuteCommand直接在C语句上运行SQL语句。您可以使用参数执行SQL语句,并使用{0}、{1}等格式化命令字符串

ExecuteCommandDELETE来自TableOne,其中PrimaryKey={0},PrimaryKey


我有同样的问题,我想只使用LINQ查询PostgreSQL表中的HStore字段。 之前,我在LINQPad中切换到SQL,并以这种方式处理问题。但是,如果在查询HStore字段之前使用.ToList或其他方法实现查询,LINQPad可以很好地处理

例如,我有一个“Survey”表,其中AssetId字段是一个简单的文本字段,用于“描述”与另一个表的关系,然后是一个Values HStore字段,其中包含调查结果,可能包括几个不同的字段。因此,如果我想查找具有“number_lanes”值的“ROAD”的所有调查,那么我的LINQ查询是:

资产调查。其中a=>a.AssetId.StartWithRoad-.ToList.Where=>a.Values.ContainesKeyNumber_lanes


中间的TLIST导致HStand字段被具体化为字典,然后可以容易地查询。

是的,我试过了。PostgreSQL驱动程序无法返回hstore列不确定它是否适用于Postgres,但您是否尝试过此操作。ExecuteQueryselect*from items LIMIT 50;。转储?此解决方案的问题是我的项目定义不等于我的结果。在linqpad中,我的hstore专栏被忽略。“我的项目”实体不包含hstore列的变量。请注意,您必须单击LINQPad代码上方的“连接”下拉列表,然后选择以前在“连接”窗格中设置的连接。完成后,ExecuteCommand和ExecuteQuery将作为全局静态方法提供。