@Fsharp_chat

Страница 149 из 772
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
@DarkByte2016 А чем должно быть MyItems? Поле, свойство? Изменяемое?
EF не юзал чтоли? Ну эта коллекция - абстракция на таблицу в БД. Ну да ему фактически не надо быть изменяемым.

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

Pawel
22.05.2017
11:30:54
Илья
22.05.2017
11:32:01
MyItems - это чисто твоя пропертя, а не EF. Мне тоже не понятно что это за WTF
Чего тут непонятного? Я пытаюсь сделать класс-контекст БД как я это делал в сишарпе и обращаться потом к этой коллекции как к таблице.

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
@DarkByte2016 Какое дефолтное значение у MyTypes в C#? Такое проставь и в F# коде.
Никакого. Эта коллекция инициализируется сама. Ну точнее ее видимо инициализирует родительский класс (DbContext)

Google
Pawel
22.05.2017
11:38:58
@DarkByte2016 Какое дефолтное значение у MyTypes в C#? Такое проставь и в F# коде.
что-то мне подсказывает, что у него инициализация происходит в DI контейнере в C#

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

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

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
и всё равно не получается перевести код с C# в F#? странно А C#ный код можешь запостить?
class ItemsContext : DbContext { public ItemsContext() : base("DBConnection") { } public DbSet<MyType> MyItems { get; set; } }

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 - точно не компилится?

Проще тайп провайдер
EF - это содомия конечно

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
Но зачем в F# тащить EF? ?
А что в F# есть что-то круче для работы с БД? Тогда конкретные названия либ в студию.

Most
22.05.2017
12:06:03
lol

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
http://fsprojects.github.io/FSharp.Data.SqlClient/
Серьезно? АдоНет? Сейчас вроде 21 век, а не 20...

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

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

Pawel
22.05.2017
12:08:40
тогда да, резонный вопрос зачем тебе EF?
на самом деле это как с UWP, из той же области. Есть определённое окружение, вот и всё

Серьезно? АдоНет? Сейчас вроде 21 век, а не 20...
там отнюдь не только адо-нет, дружище. См. тщательней

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

Илья
22.05.2017
12:12:11
там отнюдь не только адо-нет, дружище. См. тщательней
достаточно того что там длинная портянка sql кода))) чистый скл юзать в наше время могу позволить себе только энтерпрайз-сервера для которых супер-важна производительность

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.

Admin
ERROR: S client not available

Pawel
22.05.2017
12:16:09
Не очкую, а скорее ленюсь. :D Спасибо, попробую.
Зря. Очень расширяет кругозор и + к зп

Илья
22.05.2017
12:16:41
Зря. Очень расширяет кругозор и + к зп
я знаю скл, мне просто лень с ним работать

орм проще

Pavel
22.05.2017
12:17:35
SQL не любят по достаточно простой причине, что в C# коде результат не строготипизирован. В F# с этим проще, есть тайппровайдеры и результат вызова SQL-кода строготипизирован и проверяется на этапе компиляции.

Всё что делает EF/LinqToSql - они тебе генерят (КАК-ТО) SQL запрос по твоему expression-tree

Но почему-то для этого приходится очень много приседать.

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
@DarkByte2016 Выбирай то, что нравится. Вот и все.
1) по любому всем больше нравится, но под постгрес его нет)

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

Evgeniy
22.05.2017
12:28:34
@ruzzke_mir Можно на pastebin.com, пожалуйста?

Слишком много кода для чата. :)

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

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
Похоже на тестовое задание
не, это чисто из жизни. Попросили поцаны помочь, я помог))

хотя как тестовое тоже годняк

Страница 149 из 772