Просто попробуйте F # 3.0 и нанесите немного стены, когда дело доходит до группировки по нескольким столбцам. Очевидным было бы попробовать
query {
for d in context.table do
groupBy (d.col1,d.col2) into g
select (g.Key)
}
Но я получаю "Только конструкторы без параметров и инициализаторы поддерживаются в LINQ для Entities". исключение.
Я не могу найти пример в msdn
http://msdn.microsoft.com/en-us/library/hh225374(v=vs.110).aspx
http://msdn.microsoft.com/en-us/library/hh361035(v=vs.110).aspx
И я понимаю, что мой вопрос похож на "Entity Framework и анонимные типы в F #", но кажется, что Powerpack/F # 2.x сосредоточен, и я надеюсь, что F # 3.0 имеет элегантный ответ... Любые идеи?
UPDATE:
Я наткнулся на атрибут CLIMutable, прочитав сообщение Брайана:
http://blogs.msdn.com/b/fsharpteam/archive/2012/07/19/more-about-fsharp-3.0-language-features.aspx
Я был довольно оптимистичен, поэтому я попробовал
[<CLIMutable>]
type MyRecord = { Column1 : int; Column2 : int }
query {
for d in context.table do
groupBy {Column1 = col1; Column2 = col2} into g
select (g.Key)
}
К сожалению, я получаю то же самое исключение.