Đang cố gắng để có được một truy vấn với một kiểu làm việc vô danh:Entity Framework và Anonymous loại trong 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 @>
Và tôi tiếp tục nhận được:
{ "Chỉ nhà xây dựng parameterless và initializers được hỗ trợ trong LINQ to Entities. "}
Điều gì sẽ có ý nghĩa nếu tôi ánh xạ trực tiếp các giá trị cho loại, nhưng các loại ẩn danh không được ném thi s ngoại lệ tôi sẽ nghĩ rằng kể từ khi họ được dựa trên chức năng khởi tạo đối tượng? Thật không may bất cứ điều gì tôi tìm thấy trên các loại vô danh dường như nói đây là cú pháp chính xác. Hoặc như thế này:
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 # không có khái niệm về 'loại ẩn danh' - đó là tính năng C#. Ở đây bạn đang xây dựng các bộ dữ liệu đơn giản. – ildjarn
Bạn đã thử cách ly lỗi thành một cấu trúc cụ thể hơn (ví dụ: trước tiên hãy thử Seq.map (vui vẻ i -> i.Id), Seq.map (vui vẻ i -> i.Id, i.Id)), v.v. .? – fmr