Tratando de conseguir una consulta con un tipo de trabajo en el anonimato:de Entity Framework y anónimo Tipos de F #
let temporaryBookModel =
query <@ context.Books
|> Seq.filter (fun book -> book.Id = bookId)
|> Seq.map(fun item -> (item.Id, item.ParentUser.Id, item.ParentUser.Alias, item.Tagline, item.Title, item.Visible, item.CreatedDate))
|> Seq.head @>
Y me siguen dando:
{ "Solamente los constructores sin parámetros y inicializadores son compatibles con LINQ to Entities. "}
Lo que tendría sentido si estuviera mapeando los valores a un tipo directamente, pero los tipos anónimos no deberían arrojar thi s excepción que pensaría ya que se basan en la funcionalidad del inicializador de objetos? Desafortunadamente, todo lo que encontré en tipos anónimos parece decir que esta es la sintaxis correcta. Eso o algo así:
let temporaryBookModel =
query <@ context.Books
|> Seq.filter (fun book -> book.Id = bookId)
|> Seq.map(fun item -> (("a", item.Id), ("b", item.ParentUser.Id), ("c", item.ParentUser.Alias), ("d", item.Tagline), ("e", item.Title, item.Visible), ("f", item.CreatedDate)))
|> Seq.head @>
F # no tiene conceptos de 'tipos anónimos' - esa es una característica de C#. Aquí estás construyendo tuplas simples. – ildjarn
¿Intentó aislar el error en una construcción más específica (es decir, primero intente Seq.map (fun i -> i.Id), Seq.map (fun i -> i.Id, i.Id)), etc. .? – fmr