Сценарии общих задач в Vim

Я думаю, что ваша главная проблема здесь просто печатать. Используя var для хранения начального запроса, введите его как DbSet<SomeObject>. Для построения запросов вам понадобится IQueryable<SomeObject>. Другими словами, измените исходную строку на:

IQueryable<SomeObject> query = from o in _dbContext.SomeObjects;

Я сам не использую LINQ-to-SQL, так что это может быть немного не так, но я думаю, что тогда вы просто сделаете что-то вроде :

query = query join type in _dbContext.Types on o.TypeId equals type.ID;

Я знаю, что это работает с LINQ-to-Entities, например:

query = query.Include(x => x.Types);
11
задан Vadim Kotov 16 August 2017 в 08:59
поделиться

4 ответа

Можно хранить макросы общей задачи в .vim файлах, как это, например, и затем можно загрузить их командой: так file.vim

Здесь можно найти набор полезных макросов, также я рекомендую Вам изучить хорошо полезную q команду записи макроса, это очень очень мощно...

Макросы, созданные с командой q, хранятся в регистре, qq хранит макрос в регистре q, поэтому при окончании записи, можно просто вставить макрос, с "qp и сохранить его, позже можно загрузить его путем простого дергания макроса в регистр т.е.: "qY, макросы являются только текстом и помнят, что можно использовать любой регистр вместо q. Существует Сценарий Vim для хранения q макросы:

marvim: Макро-Персистентное устройство хранения данных и Совместно используемый Репозиторий для VIM

Также смотрите к Языку сценариев Vim.

14
ответ дан 3 December 2019 в 05:59
поделиться

Можно сохранить последовательности команды в Вашем .vimrc и присвойте им привязку клавиш с :map команда. Например:

echo >>~/.vimrc ":map ,c :%s/,/','/g<CR>:%s/^/('/g<CR>:%s/$/'),/g<CR>"

При нажатии",c"на живой сессии это преобразует Ваш файл CSV в часть оператора INSERT.

На командной строке, через которую точно та же часть редактирования может быть применена к файлу (это перезапишет, несомненно, скопирует сначала):

vim file.txt -c ':normal ,c | :x'

Мог бы быть лучший путь, но это работает.

2
ответ дан 3 December 2019 в 05:59
поделиться

Я использую q/@ записывать/воспроизводить макрос вполне часто.

Следующие повышаются, пытается записать в чем-то как 3 или меньше исключая командами.

Если что-то столь сложное, что ни макрос, ни короткое исключая последовательностью не будут достаточны, я склонен писать это как сценарий Perl вместо этого. Язык сценария энергии немного слишком ограничен, чтобы попытаться выполнить в главных вещах для моего вкуса. (Хотя энергия 7 добилась больших успехов в этом отношении путем заимствования набора вещей из Python.)

Отметьте это @ делает что-то очень простое: это берет содержание регистра и воспроизводит их, как будто Вы ввели их в нормальном режиме. Аналогично q просто записывает последовательность, которую Вы вводите в регистр, который Вы называете. Это те же самые регистры, которые Вы используете для того, чтобы дергать/поместить – что означает, что можно непосредственно вставить зарегистрированную последовательность в файл (.vimrc кто-либо?) или рывок последовательность команд из файла и воспроизведения это (таким образом, Вы могли удержать набор их ~/my-vim-macros.txt или что-то).

3
ответ дан 3 December 2019 в 05:59
поделиться

Лично, и возможно частично, потому что я использовал Unix задолго до того, как энергия существовала (heck, первая версия Unix, который я использовал, не имела "vi" ни одним - но это - другая история), я обычно использовал бы 'сценарий оболочки' (или, более вероятно, сценарий Perl), чтобы сделать преобразование. Для преобразования данных CSV для ВСТАВКИ, имея дело с quotes/non-quotes и встроенными запятыми в полной общности грязно - я, вероятно, стремился бы использовать сценарий Perl с текстом:: CSV_XS для гарантии корректного парсинга. Я затем запустил тот скрипт на диапазоне текста, для которого было нужно преобразование.

Одним преимуществом этого является сфокусированный подход инструмента - один инструмент делает одно задание правильно. Мой частный каталог bin имеет 300 или больше сценариев и программы в нем; каталог RCS имеет более чем 500 сценариев в нем.

Нельзя сказать, что сценарии в энергии плохи. Я использую (более или менее) сложные команды карты для записи сложных манипуляций, часто когда я собираюсь, должны сделать то же изменение через комплект файлов, и когда я не буду думать, что будет стоить создать сценарий для задания. Однако, если я буду думать, что мне, возможно, понадобились бы изменения несколько раз, то затем я напишу сценарий его. Например, GCC начал становиться нахальным (приблизительно 2005) о не встраивании неиспользованных статических строк в объектных файлах - который означал, что моя информация об управлении версиями не была видима. Так, в течение лет, поскольку я редактирую исходные файлы, я преобразовал от статического (фиксированного) имени до общедоступного имени - неохотно, но обязательно AFAIAC. У меня есть сценарий, который делает то редактирование для меня, поэтому когда я должен внести изменение в файле, я запускаю тот скрипт, чтобы сделать так. У меня есть другой сценарий, который обновляет информацию об авторском праве; мне нужно тот каждый раз, когда я сначала изменяю файл в данном году. Да, я мог, вероятно, спрятать его как что-то в энергии - я рос, думая, что отдельный сценарий лучше, не в последнюю очередь потому что, если я переключаюсь на какого-либо другого редактора, я могу все еще использовать сценарий.

1
ответ дан 3 December 2019 в 05:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: