我正在考虑使用F#连接到Oracle 11g数据库。我想知道是否可以将SqlDataConnection与F#一起使用,不仅可以从数据库连接中获取我的类型,还可以修改它们。
上下文
我有一个电影数据库。我需要使用2个直方图为数据库中的所有电影创建元数据:一个用于颜色,一个用于纹理。在我创建了XmlData列之后,我想要的是能够在Movie集合上迭代(或递归导致它的F#)并且能够创建电影海报的直方图和然后将它们插入带有标准MPEG-7的XmlData中。
然后,信息将使用用户使用XmlProvider提供的信息进行查询。
SQlDataConnection可以实现吗?所以基本上,类型Movie I&#d; dd将设置为可选的字段XmlData将从None更改为Some(Data)。
更新1
目前,我一直在尝试通过F#和Entity框架类型提供程序连接Oracle 11g数据库。这目前在C#下工作,但是我想在C#中离开C#并且微软的教程让它听起来非常简单。
这是我必须在代码中定义数据库架构的代码:
type oracleSchema = SqlEntityConnection<ConnectionString="Data Source=(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = big-data.log.mtl.ca)(PORT = 1521)) (CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = GTI660)));Persist Security Info=True;User ID=usernanme;Password=someRidiculousPwd",Pluralize = true>
我想知道的是,我已经复制粘贴了我在C#项目中使用的连接字符串,希望它能够工作。 SqlDataConnection&amp; SqlEntityConnection被视为未定义。我试图看看它是否至少可以识别SqlDataConnection。在块包中,我添加了F#Data以访问类型提供程序。在源文件中,我打开了以下命名空间(如指定的here)
open System.Data.Linq
open System.Data.Entity
我无法打开以下命名空间:
open Microsoft.FSharp.Data.TypeProviders
这有道理吗?提供商位于F#Data nugget包中。我应该指定我找不到以下扩展名:FSharp.Data.TypeProviders以添加到库项目中。