小编Rem*_*mko的帖子

如何为Entity Framework延迟加载创建虚拟记录字段

我正在尝试定义我在Entity Framework 6中使用的一些模型.我想使用F#记录.如果我把[<CLIMutable>]记录定义放在上面并使用ICollection<'a>,那么集合.EF工作正常.

我可以存储和检索记录.但是,对于EF进行延迟加载,我需要创建包含虚拟集合的记录字段.我可以通过使属性成员抽象并提供默认值来使其成为虚拟成员.记录不是类.是否可以将记录字段设为虚拟?

如果我尝试用抽象成员扩充记录,我会收到此错误 this declaration element is not permitted in an augmentation

f# entity-framework

6
推荐指数
1
解决办法
390
查看次数

如何在IE中的两个输入覆盖中的基础范围输入上制作-ms-thumb伪元素寄存器指针事件?

我想用两个手柄做一个范围输入.我已经用类型范围覆盖了两个输入.我使用css属性指针事件来禁止轨道拦截任何意图击中底层拇指的点击.这在Chrome和Firefox中运行良好.是不是在IE 11或Edge中拾取任何指针事件.如何获取-ms-thumb伪元素来获取指针事件?

我准备了一个代码笔来说明问题.https://codepen.io/RemkoBoschker/pen/jzLgXq

下面包含相同的代码

@mixin thumb($input-height, $input-border-radius, $input-thumb-color) {
    width: $input-height;
    height: $input-height;
    border: none;
    pointer-events: auto;
    border-radius: $input-border-radius;
    background-color: $input-thumb-color;
    cursor: pointer;
    position: relative;
    z-index: 1;
}

/* https://codepen.io/rendykstan/pen/VLqZGO8 */
@mixin range-slider(
    $width,
    $height,
    $input-top,
    $input-bg-color,
    $input-thumb-color,
    $float: none,
    $input-height: 20px,
    $input-border-radius: 14px,
    $bubble-width: 100px
) {
    position: relative;
    width: $width;
    margin-left: (100% - $width) / 2;
    height: $height;
    float: $float;
    text-align: center;

    input[type='range'] {
        -webkit-appearance: none;
        pointer-events: none;
        height: $input-height;
        padding: 0;
        position: absolute;
        left: …
Run Code Online (Sandbox Code Playgroud)

css sass slider internet-explorer-11 microsoft-edge

6
推荐指数
0
解决办法
358
查看次数

如何定义可以在c#中实现的异步f#接口?

我在F#中定义了一个接口

type IConnect =
    abstract Update: seq<DataType> -> Async<bool>
Run Code Online (Sandbox Code Playgroud)

我希望在同一appdomain中的其他应用程序实现它,以便我可以在实现接口的任何实现上调用Update(我在TinyIoC容器中收集实现).返回类型Async<bool>可以指示更新是否成功,而不必等待它.我可以并行更新应用程序.

其他应用程序是用c#编写的,当我开始编写一个引用(模拟)实现时,我意识到这需要任何实现者使用一个FSharpAsync不太漂亮的类型.

那么,我如何定义接口,以便在c#中轻松实现并保持异步方面?

c# f#

5
推荐指数
1
解决办法
208
查看次数

如何将一系列有区别的联合(所有项目属于同一案例)映射到案件类型的一系列项目上?

我有以下内容:

type union1 =
    | Case1 of string
    | Case2 of int

let union1s = seq { for i in 1..5 do yield case2 i }
Run Code Online (Sandbox Code Playgroud)

如何更改union1s为类型序列seq<int>

就像是:

let matchCase item =
    match item with
    | Case1 x -> x
    | Case2 x -> x

let case2s = Seq.map matchCase union1s
Run Code Online (Sandbox Code Playgroud)

此尝试不起作用,因为matchCase无法返回两种不同的类型.

建议的答案有同样的问题(如果我理解正确)

let matchCaseOpt = function
    | Case1 x -> Some x
    | Case2 x -> Some x
    | _ -> None

let case2s = …
Run Code Online (Sandbox Code Playgroud)

f#

5
推荐指数
2
解决办法
693
查看次数

为什么第二个订阅在订阅两次到rx 2.3中的observable时没有收到任何值?

我有这个准系统的例子,根据rxjs文档不符合我的预期.我希望订阅都接收所有值.

文档提到:

然后两个观察者订阅此序列并打印出其值.您将注意到为每个订户重置序列,其中第二个订阅将从第一个值重新启动序列.

let s1 = rx.Observable.from([1, 2, 3, 4, 9, 11])

s1.subscribe(
    x => console.log(x), 
    x => console.log(x), 
    x => console.log('complete'))

s1.subscribe(
    x => console.log(x), 
    x => console.log(x), 
    x => console.log('complete'))
Run Code Online (Sandbox Code Playgroud)

但是第二个订阅只记录'完整'

事实证明,该示例在rxjs 2.4中按预期工作,但在2.3中没有.有谁知道改变了什么?我无法在发行说明中发现它

这是一个2.3.20的小提琴:小提琴

这是一个2.4.1:小提琴

javascript rxjs ecmascript-6

5
推荐指数
1
解决办法
1076
查看次数

为 Firebase 使用实施完整的审计跟踪

我将如何为与 firebase 数据库交互的用户实施完整的审计跟踪?

我需要遵守医疗记录指南,即用户的参考身份、授权模式、操作 (c/r/u/d)、操作对象。

根据目前的反馈,选项是从客户端登录或设置侦听更改的服务。

然而,客户端可以被篡改,监听更改的服务会错过读取。

理想情况下,我想使用 .write 和 .read 规则,因为我有身份验证令牌负载和规则数据快照。据我所知,您只能返回一个布尔值,而不能在规则文件中执行任何数据库交互。

firebase

5
推荐指数
0
解决办法
1513
查看次数

如何在函数内部的f#中将静态参数传递给typeprovider

我正在使用FSharp.Data typeproviders

我想制作一个具有参数的函数,该参数设置typeprovider's示例字符串或文件位置。

let SyncIt url sample converter storer =
    async {
        url
        |> MakeRequestAsync 
        |> Async.RunSynchronously
        |> JsonProvider< sample >.Parse
        |> Seq.iter (converter >> storer)
    }
Run Code Online (Sandbox Code Playgroud)

如果使用以下命令调用模块中的JsonProvider

[<Literal>]
let sample = """{"name":"Peter","age":9}"""

type provider = JsonProvider<sample>
Run Code Online (Sandbox Code Playgroud)

工作正常。为什么我不能通过它parameter?我知道它与在编译时清楚引用有关,但是除了声明每个引用之外,其他所有方法都无法解决providers explicitly

f# type-providers f#-data

3
推荐指数
1
解决办法
817
查看次数