Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用f#代码向couchbase数据库添加元素_.net_F#_Couchbase - Fatal编程技术网

.net 使用f#代码向couchbase数据库添加元素

.net 使用f#代码向couchbase数据库添加元素,.net,f#,couchbase,.net,F#,Couchbase,嗨,我正试图从F#向couchbase数据库添加一个简单的文档,但是我在创建文档时遇到了一些问题 我只是简单地尝试了一种非常简单的方法,尝试将c#翻译成f#,它在文档定义之前工作得很好 open System open Couchbase type TestDoc(id : string, content : string) = interface IDocument with member this.Cas with get (): ui

嗨,我正试图从F#向couchbase数据库添加一个简单的文档,但是我在创建文档时遇到了一些问题

我只是简单地尝试了一种非常简单的方法,尝试将c#翻译成f#,它在文档定义之前工作得很好

open System
open Couchbase


type TestDoc(id : string, content : string) = 
     interface IDocument with
        member this.Cas
            with get (): uint64 = 
                failwith "Not Implemented"
            and set (v: uint64): unit = 
                failwith "Not Implemented"
        member this.Expiry
            with get (): uint32 = 
                failwith "Not Implemented"
            and set (v: uint32): unit = 
                failwith "Not Implemented"
       member this.Id
            with get (): string = 
               id
            and set (v: string): unit = 
               failwith "Not Implemented"
       member this.Token: Core.Buckets.MutationToken = 
            failwith "Not Implemented"



 let t() = 
    let cluster = new Cluster()
    let bucket = cluster.OpenBucket("beer-sample")
    let document = TestDoc ("hei", null) :> Document<dynamic>
    let res = bucket.Insert(document)
    res



[<EntryPoint>]
let main argv =
     printfn "Hello World from F#!"

      0 // return an integer exit code
开放系统
开放式沙发床
类型TestDoc(id:string,content:string)=
接口i文档与
本局议员
使用get():uint64=
带有“未实现”的故障
和设置(v:uint64):单位=
带有“未实现”的故障
请记住,到期日
使用get():uint32=
带有“未实现”的故障
和设置(v:uint32):单位=
带有“未实现”的故障
成员:这个
使用get():字符串=
身份证件
和集合(v:字符串):单位=
带有“未实现”的故障
成员this.Token:Core.bucket.MutationToken=
带有“未实现”的故障
设t()
让cluster=newcluster()
让bucket=cluster.OpenBucket(“啤酒样本”)
让document=TestDoc(“hei”,null):>document
let res=bucket.Insert(文档)
物件
[]
让主argv=
打印fn“来自F#的世界你好!”
0//返回整数退出代码

编译器会抱怨“dynamic”关键字不存在吗?似乎很奇怪,因为它在c#中工作得很好。

dynamic
不是真正的类型。这只是C#中的一种特殊语法,它告诉编译器以特殊的方式处理这种类型的变量

当您在C#中声明某个
动态
时,它得到的实际类型是
对象
,在F#中称为
obj
。因此,等价物将转换为
文档

但我甚至不认为什么能起作用:你不能将你的类型强制转换为
文档
,因为你的类型不是
文档
的子类型(也就是说,不是从它继承的)。编译器会抱怨的

您需要将您的类型设置为
文档
的子类型,或者,您可能打算转换为
i文档
,这正是
IBucket.Insert所期望的?现在我帮不了你了,因为不清楚你的意思