У меня возникла проблема с попыткой сопоставить свойство в моем типе с отображением в Cassandra.Cassandra CQL Mapping in F #
У меня он работает в C#, но я борюсь с F #
Ошибка я получаю: Трассировка стека: [System.ArgumentOutOfRangeException: Выражение х => новый Tuple`2 (x.Id, ToFSharpFunc (x => x.WithName ("player_id"))) не является свойством или полем. Имя параметра: выражение]
on Line 26, если я удалил «fun (x: ColumnMap) -> x.WithName (« player_id »)», он компилируется, но затем он не будет отображаться в нужный столбец таблицы. Мое имя модель свойства «Id», но мне это нужно сопоставить с «player_id»
open Cassandra
open Cassandra.Mapping
open System
type Ranking =
{ Id : Guid
Alias : string
Kills : int
Deaths : int }
type Player = {Id: Guid; Alias: string; Dob: DateTime; FullName: string}
type CassyMappings() =
inherit Cassandra.Mapping.Mappings()
do
base.For<Player>()
.TableName("players")
.PartitionKey("player_id")
.Column(fun(x:Player)-> x.Id)
.Column(fun(x:Player)-> x.Alias)
.Column(fun(x:Player)-> x.FullName)
.Column(fun(x:Player)-> x.Dob) |> ignore
base.For<Ranking>()
.TableName("rankings")
.PartitionKey("player_id")
.Column(fun (x : Ranking) -> x.Id, fun(x:ColumnMap)->x.WithName("player_id"))
.Column(fun (x : Ranking) -> x.Alias)
.Column(fun (x : Ranking) -> x.Kills)
.Column(fun (x : Ranking) -> x.Deaths) |> ignore
MappingConfiguration.Global.Define<CassyMappings>()
printfn "Works fine!"
https://dotnetfiddle.net/8IiYhg
здесь ссылка на C# http://www.datastax.com/dev/blog/csharp-driver-cassandra-new-mapper-linq-improvements
Поместите свой кода в актуальном вопросе. Кроме того, пожалуйста, объясните, что «борется с F # означает» - включают любые сообщения об ошибках и т. Д. –
уверен, никаких проблем .. Я создал DotNetFiddle для него [здесь] (https://dotnetfiddle.net/8IiYhg) моя ошибка is "Stack Trace: [System.ArgumentOutOfRangeException: выражение x => новый Tuple'2 (x.Id, ToFSharpFunc (x => x.WithName (" player_id "))) не является свойством или полем. Имя параметра : expression] " –
в строке 26, если я удалил" fun (x: ColumnMap) -> x.WithName ("player_id") "он компилируется, но затем он не будет отображаться в правильный столбец таблицы. Мое имя свойства модели - «Id», но мне нужно, чтобы оно отображалось на «player_id». –