问题标签 [fsharp.data.sqlclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
281 浏览

f# - 未安装 SQL 的计算机上的 FSharp.Data.SqlClient 类型提供程序(CI 服务器)

我最近开始使用FSharp.Data.SqlClient类型提供程序,但无法使其与AppVeyor构建系统一起使用。

问题是,在运行构建的机器上,没有运行数据库,因此指定本地连接字符串会使构建失败,因为类型提供程序无法从数据库中获取表结构数据。

有没有办法指定某种包含数据库结构信息的本地文件(例如 dbml?)?

我可能可以创建一个公开可用的数据库,向该数据库添加只读凭据和点类型提供程序,以便可以从构建服务器访问它,但我不喜欢这个想法。

0 投票
1 回答
176 浏览

f# - F# context.DataContext.ExecuteStoreQuery

有人用过 context.DataContext.ExecuteStoreQuery 吗?我正在使用 SqlEntityConnection 从这样定义的存储过程中提取数据

使用此 F# 代码

但我得到了这个例外:

Procedure or function 'CustOrderHist' expects parameter '@CustomerID', which was not supplied.

0 投票
1 回答
324 浏览

azure - FSharp.Data.SqlClient“找不到方法”

当我尝试在 Windows Azure 模拟器、VS2013、F# 3.1-> 上使用 FSharp.Data.SqlClient 类型提供程序时出现这个奇怪的错误

附加信息:找不到方法:'Microsoft.FSharp.Core.FSharpFunc 2<System.Object[],System.Object> FSharp.Data.SqlClient.QuotationsFactory.GetMapperWithNullsToOptions(Microsoft.FSharp.Core.FSharpFunc2, Microsoft.FSharp.Core.FSharpFunc`2)

当我尝试调用使用我的SqlCommandProvider类型的函数时会发生错误。

没有任何意义。当我运行完全涵盖此方法的测试套件时,它 100% 有效。当我运行 azure 模拟器时,它会中断。

我的工作角色也引用了测试套件正在使用的所有相同的 DLL...?

0 投票
3 回答
1227 浏览

f# - 如何在 fsharp.data.sqlclient 中使用 SQL IN 语句?

我有以下示例代码。目标是运行带有多个输入参数的 SQL 语句。

但是,codeName 被推断为字符串类型而不是数组或列表,并给我一个错误。

或者,我可以在没有 where 语句的情况下运行查询并根据结果进行过滤。但是,在许多其他返回数百万行的情况下,我希望在 SQL 服务器级别过滤数据以提高效率。

我在 fsharp.data.sqlclient 的文档中没有找到任何相关示例。请帮忙!

0 投票
0 回答
225 浏览

reflection - 如何动态访问 F#.Data.SqlClient 记录属性

Record通过 F# Data SqlClient 类型提供程序使用如下代码返回了一些数据:

我现在想first Record动态访问它的属性——我需要哪些属性取决于一些用户输入——他们输入key.

我知道我可以使用 C# 风格的反射来做到这一点,代码如下:

但是,我想知道是否有任何方法可以使用更简单的 F#

理想情况下,我想使用类似的东西first.[key]- 但此语句返回错误The field, constructor or member "Item" is not defined

0 投票
1 回答
374 浏览

f# - 带有 fsharp 数据 SqlClient 的命名参数

从外部文件加载 T-Sql 时,我无法编译此代码。当 T-Sql 直接插入 F# 时,该代码有效:

但是在尝试从 sql 文件加载 T-Sql 时出现此错误:

Execute 接受 0 个参数,但这里给出 2 个。

T-Sql:

F#:

我在管理工作室测试了 t-sql,它在那里工作。我只收到上述错误。我在这里想念什么?

0 投票
1 回答
249 浏览

f#-data - 我可以为允许 null 的十进制列插入 null

我有这个 SqlCommandProvider:

当我调用它并尝试为 price 列传递 null 时,该列在数据库中接受 null,我得到一个错误。这可能吗?

表定义:

0 投票
1 回答
147 浏览

f# - 升 F 添加列表

如何将 obj 列表转换为 int 类型。我正在尝试使用下面的 map 函数添加两个列表,但它不适用于 obj 列表。

错误消息:“obj”类型不支持运算符“+”

0 投票
0 回答
357 浏览

multithreading - 线程安全的查询表达式 F#

我有一组函数,它们使用 FSharp.Data.TypeProviders 通过 sql 对数据库进行多次调用以检索数据。

代码如下所示:

当我运行它时,我得到以下信息:

FSharp.Core.dll 中出现“System.ArgumentException”类型的第一次机会异常

附加信息:已添加具有相同密钥的项目。

更准确地说:

System.ArgumentException:已添加具有相同键的项目。在 Microsoft.FSharp.Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation(FSharpExpr e) 在 Microsoft.FSharp.Linq.QueryModule.EvalNonNestedInner(CanEliminate canElim, FSharpExpr queryProducingSequence) 在 Microsoft.FSharp.Linq.QueryModule.EvalNonNestedOuter(CanEliminate canElim, FSharpExpr tm)在 Microsoft.FSharp.Linq.QueryModule.clo@1737-1.Microsoft-FSharp-Linq-ForwardDeclarations-IQueryMethods-Execute[a,b](FSharpExpr`1 ) ... ... 在 Microsoft.FSharp.Collections.ArrayModule .Parallel.Map@714-3.Invoke(Int32 obj) 在 System.Threading.Tasks.Parallel.<>c__DisplayClassf`1.b__c() 在 System.Threading.Tasks.Task.InnerInvoke() 在 System.Threading.Tasks System.Threading 中的 .Task.InnerInvokeWithArg(Task childTask)。

我还尝试使用 Parallel.For() 从 C# 运行它。我可能缺少一些基本的东西。有没有一种简单的方法可以使函数线程安全?还是查询表达式?

谢谢您的帮助!

解决的可能选项:当我在函数中包含对数据库上下文的调用时,解决了并行异常。如:

0 投票
1 回答
206 浏览

f# - 为什么 FSharp.Data.SqlClient 记录作为对象公开?

我正在做一个演示,我可以在其中展示在 F# 库中使用 SqlClient 类型提供程序然后从 C# 使用它是多么容易,我认为这可能是将事物纳入项目的一种方法。由于许多使用 C# 的人想要使用接口等。我想我向他们展示了可以组合所有东西,但我没有得到预期的结果。我有以下 F# 代码在 F# 中按预期工作:

但是当我尝试从我的 C# 应用程序中使用它时,我没有得到getOrdersPerEmployee返回一个可枚举的记录,而是返回一个可枚举的对象:

在上面的代码中,我希望在 lambda 中启用智能感知y,但什么也没有。有任何想法吗?