Ayrat
Я думаю тебе надо сделать open MongoDB.Driver.Linq
Ayrat
И ебашить как в сишурупе
Roman
так я так и делаю. С разницей лишь, что квери билдер вместо сишарпового линка
Ayrat
. Select ( ) и вот это вот все
Roman
я имел ввиду этот полуёбный синтаксис from zashquar in shit select
Ayrat
Хз, надо посмотреть
Roman
ща скину
Roman
Хз, надо посмотреть
https://github.com/atsapura/CardManagement/blob/master/CardManagement.Data/QueryRepository.fs там в принципе весь проект запускаемый уже из консольки) Надо тока докер запустить
Roman
. Select ( ) и вот это вот все
то ли лыжи, то ли .Join() вызвать из фшарпа просто блять невозможно
Roman
я перепробовал все. И экспрешны, и фанки и все что можно. Он просто не в состоянии найти подходящую перегрузку метода
Roman
все открыто
Roman
let private getCardQuery2 (mongoDb: MongoDb) cardnumber = let cardEntities = mongoDb.GetCollection<CardEntity>(cardCollection).AsQueryable() let accountEntities = mongoDb.GetCollection<CardAccountInfoEntity>(cardAccountInfoCollection)//.AsQueryable() let (cardNumberEx: Func<CardEntity, string>) = Func<_,_>(fun c -> c.CardNumber) let (cardAccEx: Func<CardAccountInfoEntity, string>) = Func<_,_>(fun (c: CardAccountInfoEntity) -> c.CardNumber) // вот тут пидор сломался cardEntities.Join(accountEntities, cardNumberEx, cardAccEx, Func<_,_>(fun (c,a) -> (c, a))) 1
Ayrat
обименуй параметры
Ayrat
типа selector = ...
Roman
попробую
Roman
тот же самый результат
Ayrat
покажи оверлоад к которому стремишься
Roman
да мне любой! Но пускай тот, что экспрешны принимает
Ayrat
посмотрел я на этот код, ты хочешь странного с IMongoQueryable
Ayrat
его можно создать только из MongoCollection + Expression
Ayrat
https://github.com/mongodb/mongo-csharp-driver/blob/14e046f23640ff9257c4edf53065b9a6768254d4/src/MongoDB.Driver.Legacy/Linq/MongoQueryProvider.cs
Ayrat
public IQueryable<T> CreateQuery<T>(Expression expression)
Ayrat
этот метод надо вызвать у инстанса провайдера с переданной в конструктор коллекцией
Ayrat
что в общем логично
Roman
его можно создать только из MongoCollection + Expression
есть экстеншн, который коллекцию в него превращает.
Ayrat
есть экстеншн, который коллекцию в него превращает.
и кстати по поводу функа, у тебя там просто ошибка
Ayrat
в смысле с джойном
Ayrat
там надо функ с тремя параметрами, а у тебя два.
Ayrat
с тремя типами
Roman
там надо функ с тремя параметрами, а у тебя два.
бля, я думал, надо туплю обязательно передавать, иначе он попытается закарировать
Ayrat
не, я про типы
Ayrat
там функ с тремя типами
Ayrat
а ты ему говоришь Func<_,_>
Ayrat
у тебя же два входящих типа и один выходящий
Ayrat
это Func<_,_,_>
Roman
я понял
Roman
когда я вообще убрал аннотации и заменил туплу на 2 параметра в последнем фанке, все сработало
Ayrat
да кстати
Shub
type RResult<'T> with static member inline (>>=) (x, uf) = RResult.rbind uf x static member inline (<*>) (x, t) = RResult.rapply t x static member inline (|>>) (x, m) = RResult.rmap m x static member inline (<|>) (x, s) = RResult.rorElse s x static member inline (~%%) x = RResult.rderef x static member inline (%%) (x, bf) = RResult.rderefOr bf x
Shub
таких людей надо запирать в оббитой войлоком комнате, чтобы они селф хармом не занимались
Doge
Vasily
В ФП сообществе
А, не вращаюсь в этих кругах. Это что- то вроде АУЕ? Приходишь на проект, монаду под ноги кидают
Doge
А, не вращаюсь в этих кругах. Это что- то вроде АУЕ? Приходишь на проект, монаду под ноги кидают
Скорее это самые общепринятые операторы для монад, аппликативов и т.п. Они во всех статьях, в кучи библиотек в разных языках и скорее ближе к какой-то просто общей грамотности
Vasily
Осталось найти понятный дебилу вроде меня пейпер
Anonymous
Видать это попытка вернуться в ООП.
Anonymous
Но вообще легче было функцию flip написать как по мне. Которая местами аргументы меняет.
Romɑn
Ко мне тут утром завалился сосед. Пьяный
Romɑn
И с битой
Romɑn
Биту отобрал
Romɑn
x
надо было вставить куда положено
Alexey
спрашивал, нет ли у тебя мяча?
x
искал библиотеку?
Romɑn
Не, поговорить хотел
Romɑn
Потом нож достал.
Romɑn
И как дурак у меня под дверью ждал полицию с адским перегаром
Romɑn
С Днём России!
Dr. Friedrich
Не, поговорить хотел
Нихерасе разговорчики у вас там
Dr. Friedrich
Ко мне в Барнауле только полиция с утра приходила с ориентировками :)
Ayrat
Ничоси у тебя там приключения
Ayrat
Ты аккуратнее с пьяными.
Dr. Friedrich
Особенно с теми, которые вооружены
Dr. Friedrich
Кароч хз что за тул у тебя такую диагностику даёт, у меня райдер всё правильно подчеркнул (в этом кейсе оно always not null, разумеется).
Фил Ранжин
это решарпер
Dr. Friedrich
да, странно. Я сделал пример почище
А что за тул ругается? Это студия? Без решарпера?
Dr. Friedrich
это решарпер
А версия студии/решарпера какая?
Фил Ранжин
ща решарпер попробую убить
Dr. Friedrich
Кажется, без решарпера в студии нету такого анализа :)
Фил Ранжин
экзакт