【发布时间】:2016-10-07 16:23:38
【问题描述】:
刚接触 F#,所以我还是有点习惯“类型推断”。 我正在尝试在 F# 中使用 EntityFramework,当我尝试建立连接时,我收到错误消息,即我的连接字符串(从 app.config 中读取)是“不是有效的常量表达式或自定义属性值”。如果我对连接字符串进行硬编码,那就没问题了,就像您期望的那样。
open FSharp.Configuration
type Settings = AppSettings<"app.config">
let ConnStr = Settings.ConnectionStrings.Model
type private Connection = SqlEntityConnection<ConnectionString=ConnStr, Pluralize = true>
我做错了什么?是否有不同的“F# 方式”来执行此操作?
【问题讨论】:
-
您需要在定义上方添加一个
[<Literal>]属性,除非这不起作用,因为字符串不是常量(类型提供程序选择将其公开为属性,而不是文字字段)。 -
你是对的。它没有。有没有更好的方法来做到这一点而无需对连接字符串进行硬编码?
标签: entity-framework f# app-config