Можем ли мы сохранить выражение C # в базе данных и повторно использовать его? [Дубликат]

Вы должны использовать обозначение квадратной скобки, когда -

  1. Имя свойства - это номер. var ob = { 1: 'One', 7 : 'Seven' }
    ob.7 // SyntaxError ob[7] // "Seven"
  2. Имя свойства имеет специальный символ. var ob = { 'This is one': 1, 'This is seven': 7, }
    ob.'This is one' // SyntaxError ob['This is one'] // 1
  3. Имя свойства присваивается переменной, и вы хотите получить доступ к значению свойства этой переменной. var ob = { 'One': 1, 'Seven': 7, } var _Seven = 'Seven'; ob._Seven // undefined ob[_Seven] // 7
85
задан Cherian 5 April 2009 в 07:15
поделиться

7 ответов

Я продолжил работу над библиотекой, о которой упоминалось в Сериализации и десериализации деревьев выражений в C #

Похоже, что проект был оставлен (2008), но я немного поработал над он и теперь работает с .NET 4.0 и Silverlight. Я сделал исправления ошибок для их кода, а также сделал его более независимым от DAL.

http://expressiontree.codeplex.com/

45
ответ дан Community 24 August 2018 в 19:33
поделиться
  • 1
    +1 для придумывания рабочего решения. Я попытался использовать исходную библиотеку в MSDN и не смог десериализовать простой двоичный узел выражения. Ваш проект отлично работает. Благодаря! – Repo Man 5 July 2012 в 21:26
  • 2
    Это проект Nuget? – Mohammad Dayyan 24 November 2013 в 10:13
  • 3
    @MohammadDayyan, Microsoft была нерешительной и непоследовательной в своем инструменте управления пакетами. Иногда пакеты ASP.NET CORE могут быть установлены с помощью Nuget, в других случаях, например. драйвер MongoDB не будет доступен через NuGet. Тем не менее, по крайней мере, у Microsoft было понимание, позволяющее NPM управлять пакетами. Скорее всего, это на NPM – T. Webster 7 September 2016 в 03:56
  • 4
    @RepoMan, решая проблему, стоит гораздо больше для меня, когда это помогает кому-то. Возможно, вы можете внести некоторую документацию по использованию - давайте поговорим. – T. Webster 7 September 2016 в 04:06

Другим вариантом является проект сериализации сериализации на code.msdn.com - похоже, будет больше того, что нужно здесь?

UPD: теперь http://archive.msdn.microsoft.com/exprserialization

14
ответ дан Alexey Suvorov 24 August 2018 в 19:33
поделиться
  • 1
    Код сериализации дерева выражений удаляется из галереи кода code.msdn.microsoft.com/exprserialization , любая идея, в которую она перемещается, или лучшие альтернативы? – Kiran Bheemarti 10 February 2011 в 03:48
  • 2
    @Kiran: Что ты имеешь в виду? Загрузка кода по-прежнему существует; проверьте вкладку «Загрузка» в верхней части страницы. – Robert Harvey♦ 10 February 2011 в 03:49
  • 3
    Да, это сейчас, вероятно, временная вещь, страница вчера бросала проект не найденной ошибки, когда я пробовал ссылку выше. Я вижу проект и загружаюсь сейчас. Благодаря!!! – Kiran Bheemarti 10 February 2011 в 19:02
  • 4
    Ушли теперь, хотя ... – Ben Ripley 8 September 2014 в 18:35
  • 5
    Еще не прошло, даже после обновления. – BrainSlugs83 2 September 2015 в 19:38

посмотрите мою новую библиотеку Serialize.Linq . Он сериализует выражения linq для json, xml и двоичных файлов.

7
ответ дан esskar 24 August 2018 в 19:33
поделиться
  • 1
    Вы использовали это раньше? как ваш опыт / найти какие-либо ограничения? – Alexandre Brisebois 24 September 2012 в 17:37
  • 2
    Я использовал аналогичную версию этого в моем последнем проекте. работает хорошо. – esskar 24 September 2012 в 17:46
  • 3
    Зачем вам писать что-то, что хуже кровоточит между ярусами? Вы рекламируете экспонирование объектов домена DAL в BAL ... если ваша библиотека каким-то образом автоматически преобразует DTO (и запросы к ним) в объекты / запросы домена. Я ничего не вижу в документах, указывающих на такое поведение. – M.Babcock 9 November 2012 в 04:37
  • 4
    Ваш блог не работает ... – Basic 7 December 2014 в 01:01
  • 5
    @esskar ваш блог / весь сайт, кажется, ушел. она двинулась? – Jon 2 November 2015 в 17:45

Службы WCF RIA разрешают сериализацию IQuerayble<T>

Услуги WCF RIA, часть 3 - Обновление данных

2
ответ дан Jonathan Parker 24 August 2018 в 19:33
поделиться

Не в полном объеме; однако образец Dynamic LINQ может немного помочь. Вы можете, конечно, сериализовать выражение в строку (в какой-то степени - дженерики выглядят немного отвратительно), но встроенного парсера нет.

2
ответ дан Marc Gravell 24 August 2018 в 19:33
поделиться
  • 1
    Я не могу узнать, как сериализовать выражение в строке, используя образец, только в другом направлении, чтобы взять в качестве строки и создать дерево выражений. Какой метод я могу назвать? – Christopher Edwards 14 April 2011 в 14:56

Я работал над проектом для сериализации выражений. Все в порядке, и вы можете использовать его. http://www.codeproject.com/Articles/851187/ServicePredicateBuilder-for-creating-Serializable

0
ответ дан Mohammad Dayyan 24 August 2018 в 19:33
поделиться

Проект GitHub / Nuget называется MetaLinq , целью которого является упрощение работы с выражением tress.

Он преобразует между нормальными выражениями и «EditableExpressions», которые являются изменяемыми и полностью Serializable, поэтому их можно использовать с Json, Xml, Binary и т. д.

Также проверьте это сообщение для получения дополнительной информации.

13
ответ дан Pop Catalin 24 August 2018 в 19:33
поделиться
Другие вопросы по тегам:

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