75 / 50 / 14
Регистрация: 28.03.2013
Сообщений: 175
1

Есть ли единообразный способ поиска по базам и по спискам в F#?

05.04.2013, 23:58. Показов 1153. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Пытаюсь понять, можно ли сделать одинаково поиск по спискам и по базе через сабж? То есть примерно как в C#. где я могу написать:

C#
1
var result = Adverts.FirstOrDefault(z => z.AdvertId == 1);
Adverts в теории IEnumarable/IQuerable.

в итоге в базу уйдёт запрос с SELECT TOP(1) ....

При попытке написать на F#

F#
1
let result = Adverts |> Seq.tryFind(fun x-> x.AdvertId = 1)
у меня тянется вся база, а потом на клиенте выбирается первый элемент.

Можно ли как-то этого избежать без использования Type Providers с их кривым и громоздким синтаксисом?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.04.2013, 23:58
Ответы с готовыми решениями:

Есть какой способ поиска записей в базе?
Подскажите плиз, есть какой способ поиска записей в базе (что нибудь типа 'seek') Заранее...

Способ поиска в mysql
Добрый день. Хотел бы попросить совета и примера точного поиска в mysql. Сейчас я имею следующее:...

Лучший способ организации поиска по сайту.
Видел много способов организации поиска по ASP сайту. Кто-нибудь кто эту проблему уже решал может...

Алгоритмы поиска корней, способ секущих
помогите пожалуйста найти ошибку должно находить 3 корня на заданном отрезке #include <stdio.h>...

3
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
06.04.2013, 10:00 2
F#
1
let result = Adverts.FirstOrDefault(fun z -> z.AdvertId = 1)
работает?
1
75 / 50 / 14
Регистрация: 28.03.2013
Сообщений: 175
06.04.2013, 13:42  [ТС] 3
Цитата Сообщение от pycture Посмотреть сообщение
F#
1
let result = Adverts.FirstOrDefault(fun z -> z.AdvertId = 1)
работает?
Что удивительно, но да (причём вчера почему-то аналогичный текст не сработал вылетая с ошибкой о невозможности invoke function. Скорее всего что-то нужное из библиотек не подключил). Точнее рабочий код такой:

F#
1
let result = Adverts.FirstOrDefault(fun (z:Advert) -> z.AdvertId = 1)
конечно после с# выглядит криво, но терпимо.
0
1195 / 588 / 88
Регистрация: 20.09.2012
Сообщений: 1,881
07.04.2013, 09:29 4
Цитата Сообщение от alechka Посмотреть сообщение
F#
1
let result = Adverts.FirstOrDefault(fun (z:Advert) -> z.AdvertId = 1)
конечно после с# выглядит криво, но терпимо.
Чтоб не было криво надо писать в декларативном стиле, типа того

F#
1
2
3
let AdvertIdEq x (z:Advert) = z.AdvertId = x
..............................
let result = Adverts.FirstOrDefault (AdvertIdEq 1)
0
07.04.2013, 09:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.04.2013, 09:29
Помогаю со студенческими работами здесь

Есть ли способ безопасно сохранить пароль в программе? То есть вшить в прогу пароль от локальной базы данных например.
Замутил класс, буду наполнять его полезными методами. Возможно создам ещё один другой класс, не...

Есть ли способ?
Всем привет. У меня появилась такая задача написать уневерсальный ипорт в справочники. Руками...

Есть ли способ проверить?
Есть ли способ проверить, когда последний раз посещал сайт робот яндекса, при чем сайт не мой?

Есть способ сделать покороче?
Здравствуйте! Давно интересовал один вопрос, а именно: Есть, например, такая конструкция class...

Есть способ очистить Canvas?
Собственно нужно коим-то образом очистить канву.Все линии которые построены на форме через...

Исключение. Есть ли способ лучше?
Всем привет. Есть такой запрос: SELECT t.Name FROM ( SELECT Distinct ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru