
Pawel
22.05.2017
11:04:01
ну и что тебе в этом тексте не понятно? надо указать аргументы конструктора
строка соединения или что там у тебя

Andrey
22.05.2017
11:11:28
new DbSet<MyType>()

Илья
22.05.2017
11:17:54
кажется понял - у него нет публичных конструкторов...

Google

Илья
22.05.2017
11:18:18
вообще когда я юзал EF из C# там не надо было самому создавать этот DbSet
но как тут это написать тоже хз
например если я пишу member this.MyItems : DbSet<MyType> т.е. без создания объекта то мне ругается
Incomplete structured construct at or before this point in member definition. Expected 'with', '=' or other token.

Evgeniy
22.05.2017
11:27:49
@DarkByte2016 А чем должно быть MyItems? Поле, свойство? Изменяемое?

Илья
22.05.2017
11:29:32

Evgeniy
22.05.2017
11:29:41
@DarkByte2016 Не юзал.

Pawel
22.05.2017
11:30:54

Илья
22.05.2017
11:32:01
MyType - модель, MyItems - таблица. Вроде понятнее некуда.

Evgeniy
22.05.2017
11:35:05
@DarkByte2016 Для начала предлагаю разобраться с возможными видами членов классов.
http://stackoverflow.com/questions/24840948/when-should-i-use-let-member-val-and-member-this
А потом реализовать так, как в C#.
@DarkByte2016 Какое дефолтное значение у MyTypes в C#? Такое проставь и в F# коде.

Илья
22.05.2017
11:38:31

Google

Pawel
22.05.2017
11:38:58
@DarkByte2016, я правильно понял, что ты новичок в F# и пробуешь его на примере EF?

Илья
22.05.2017
11:39:52

Pawel
22.05.2017
11:42:36
мне кажется проще начать с хелуворда прежде чем идти в продовые примеры. Я бы на твоём месте прочитал книжку Дона Сайма. Или русскоязычную Криса Смита, что ещё лучше - это практически идеальный вводный курс, написана легко. После этого у тебя подобные вопросы отпадут сами собой

Илья
22.05.2017
11:44:06

Pawel
22.05.2017
11:46:24
и всё равно не получается перевести код с C# в F#? странно
А C#ный код можешь запостить?

Most
22.05.2017
11:47:45
а [<DefaultValue>] не помогает?
MyType - модель, MyItems - таблица. Вроде понятнее некуда.

Илья
22.05.2017
11:53:57

Most
22.05.2017
11:54:15
»> неа
А что пишет?
неужели в гугле нет related topics на эту тему?

Илья
22.05.2017
11:55:43

Pavel
22.05.2017
11:56:59
Но зачем в F# тащить EF? ?

Vasily
22.05.2017
11:57:28
Это вопрос
Тоже не понимаю

Evgeniy
22.05.2017
11:57:46
@DarkByte2016 Я ничего не понимаю в EF, но просто проставил бы null в качестве дефолтного значения свойства.

Vasily
22.05.2017
11:57:52
Проще тайп провайдер

Pawel
22.05.2017
11:59:03
попробуй
member val MyItems = new DbSet<MyType>() with get, set
и
[<DefaultValue>] val MyItems : DbSet<MyType> = null
- точно не компилится?

Google

Evgeniy
22.05.2017
12:04:39
Кто-то здесь пользовался Dapper под .Net Core.

Most
22.05.2017
12:04:48
только под фулл)
Кто-то здесь пользовался Dapper под .Net Core.

Илья
22.05.2017
12:05:44

Most
22.05.2017
12:06:03
lol

Pavel
22.05.2017
12:06:36

Pawel
22.05.2017
12:06:39
вот ещё поробуй
let mutable ctx : DbSet<MyType> = null
member __.MyItems
with get() = ctx
and set x =
ctx <- x

Most
22.05.2017
12:07:08
»> А что в F# есть что-то круче для работы с БД?
Я правильно понимаю, что ты сидишь под никсами и хочешь использовать исключительно .net core в котором еще нет TP, поэтому тащишь туда EF чтобы просто "поиграться"?

Evgeniy
22.05.2017
12:07:23
@mostdope Не, у него арч, там нету Core.

Pavel
22.05.2017
12:07:32
Ну а под mono TP работают

Most
22.05.2017
12:07:43
а, вот оно как
тогда да, резонный вопрос
зачем тебе EF?

Илья
22.05.2017
12:08:06

Most
22.05.2017
12:08:11
X Y problem во все поля)

Pavel
22.05.2017
12:08:27

Most
22.05.2017
12:08:30
он так троллит?

Pawel
22.05.2017
12:08:40

Pavel
22.05.2017
12:11:42
Entity Framework работает поверх ADO.NET

Илья
22.05.2017
12:12:11

Google

Илья
22.05.2017
12:12:19
ОРМ рулит как бы

Most
22.05.2017
12:12:23
всё работает поверх адонет)

Илья
22.05.2017
12:12:30
https://fsharpforfunandprofit.com/posts/low-risk-ways-to-use-fsharp-at-work-4/
вот че то нарыл, походу тут как и в сишарпе можно юзать линк из кода
только я не понял откуда у db появилось поле Customer в первом примере
я так понял там какой-то стандартный же класс, а не юзерский

Pavel
22.05.2017
12:13:59
Короче, я тебя не троллю и действительно предлагаю использовать тайп провайдер SqlClient вместо Entity Framework.

Pawel
22.05.2017
12:14:22

Admin
ERROR: S client not available

Илья
22.05.2017
12:15:25

Pawel
22.05.2017
12:16:09

Илья
22.05.2017
12:16:41
орм проще

Pavel
22.05.2017
12:17:35
SQL не любят по достаточно простой причине, что в C# коде результат не строготипизирован. В F# с этим проще, есть тайппровайдеры и результат вызова SQL-кода строготипизирован и проверяется на этапе компиляции.
Всё что делает EF/LinqToSql - они тебе генерят (КАК-ТО) SQL запрос по твоему expression-tree
Но почему-то для этого приходится очень много приседать.

Илья
22.05.2017
12:19:31

Pawel
22.05.2017
12:19:43
@pavelhritonenko дык SQLProvider то же самое, только гимнастики меньше

Илья
22.05.2017
12:20:06
но все равно код по этой ссылке http://fsprojects.github.io/FSharp.Data.SqlClient/ выглядит куда менее читабельно чем по этой https://fsprojects.github.io/SQLProvider/

Pavel
22.05.2017
12:20:15
Да, SQLProvider тоже умеет генерить SQL-запросы

Google

Evgeniy
22.05.2017
12:20:28
@DarkByte2016 Выбирай то, что нравится. Вот и все.

Pawel
22.05.2017
12:21:16
Есть тут у меня одна задачка жызненная, упоролся прям прару месяцев назад.
Нужно составить календарь соревнования из N команд, чтобы миммум дней дллся.
Каждый день играют не более трёх команд.
Команда не должна играть два дня подряд.
Команды должны состязаться между собой один раз в течение чемпионата.
Учловия подлежат разумным уточнениям и дополнениям

Evgeniy
22.05.2017
12:28:34
@ruzzke_mir Можно на pastebin.com, пожалуйста?
Слишком много кода для чата. :)

Pawel
22.05.2017
12:29:06
ок, удаляй, я гист скину

Klei
22.05.2017
12:29:08

Evgeniy
22.05.2017
12:29:21
@ruzzke_mir Спасибо.

Pawel
22.05.2017
12:29:27
ну как, три команды играют между собой

Klei
22.05.2017
12:29:35
Ааа.
Т.е. 3 матча в день.

Pawel
22.05.2017
12:32:22
https://gist.github.com/fpawel/d39209ddbec53a49420079f2a726c102
ужос конечно))
чую, можно куда проще решить

Илья
22.05.2017
12:35:21
а все-таки что вот это?
https://fsharpforfunandprofit.com/posts/low-risk-ways-to-use-fsharp-at-work-4/
тут вроде еще проще
тоже какая-то либа чтоли?

Vasily
22.05.2017
12:35:41

Илья
22.05.2017
12:36:01
или это стандартное решение?

Pawel
22.05.2017
12:36:26
хотя как тестовое тоже годняк