Когда все электронные письма участников еще не существуют в документах, функции работают должным образом, и console.log () выводит идентификаторы итогового документа: hAvJ3qPq821tq1q2rrEv, 0tjeKB1aW8jsOAse5fcP
blockquote>Это потому что он разрешает следующий оператор возврата:
return document_id;
Однако, когда хотя бы один адрес электронной почты связан с существующим документом, обещания addParticipant () не разрешаются ни к чему
blockquote>Потому что не ничего не возвращает. Последнее ваше утверждение:
// TODO: There is only one, so we shouldn't have to iterate querySnapshot.forEach(function(docRef: any) { console.log("New document id: " + docRef.id); const document_id = docRef.id; return document_id; });
Это , а не возврат любого идентификатора. Это просто
forEach
. Пример исправления будет выглядеть так:// Return the id return querySnapshot[0].document_id;
LINQ выдерживает за Язык Интегрированный Запрос и является рядом расширений для.NET, которые позволяют Вам запрашивать данные тот же путь от кода, и не связывается с определенным источником данных. Можно использовать тот же код LINQ для SQL Server, XML, объектов, DataSets и Объектов.
Вот хорошее введение от Scott Guthrie
, Это - хороший набор 101 Образцы LINQ
Существует версия VB.Net 101 страницы Code Samples также -
Из MSDN вот некоторые работы, написанные Anders и другими:
пз после записи этого, я вижу, что кто-то уже связался с ними, но проложил под землей в абзаце, таким образом, я сохраню их вытянутыми здесь в форме списка также.
Немного старый, но все еще релевантный: http://www.developerzen.com/2007/09/17/introduction-to-linq/
Я думаю эта книга:
Jon Skeet является руководством превосходных программистов, которое соответствует Вашим точным потребностям (перемещающийся от ранее C# до C#3.5).
Также при упорядочивании его Вы получаете электронную копию также - что-то, что больше издателей должно сделать (превосходный для обоих Kindle и ищущий).
Здесь Вы идете. Я запустил с объяснения/примеров ScottGu и пошел оттуда:
http://weblogs.asp.net/scottgu/archive/2007/05/19/using-linq-to-sql-part-1.aspx
Для осуществления без потребности записать обертку кодируют только для выполнения linq-запросов, Вы могли использовать linqpad.net
Linq короток для "Языка интегрированный запрос". Это - ряд улучшений языка, встроенных в C# и VB. В основном то, что Вы получаете, является набором стандартных операторов запроса, которые могут быть применены к любому IEnumerable типа T. Существует много различных linq поставщиков для определенных типов данных - например, существует linq к xml, linq к объектам, даже linq к sharepoint.
Для начала работы с linq, во всех его многих формах, я предлагаю книгу Pro Linq Joseph C. Rattz. Это - превосходный обзор Linq. Он проявляет наземный подход, сначала описывая все функции языка (как Лямбда-выражения и Деревья выражений), на котором Linq основан, и затем идущий дальше к некоторому стандарту linq реализации поставщика.
Кроме того, вот является довольно хорошее описание статьи MSDN Linq: LINQ:.NET Интегрированный Языком Запрос
Теперь, Linq к Sql является linq поставщиком, записанным специально для SQL Server. Включенный в этого поставщика OR/M, который дает Вам некоторую функциональность удобного денди (как вывод всех Ваших sql таблиц, таким образом, Вы получаете устойчивое представление времени проектирования своей схемы базы данных.) Это является полностью потрясающим, и для меня, имеет, значительно ускоряют время разработки при работе с sql базой данных. Книга, которую я рекомендовал выше также, имеет большой раздел об использовании Linq К Sql. Кроме того, вот является руководство хорошего "новичка" статьей из MSDN: Linq К SQL:.NET Интегрированный Языком Запрос для Реляционных Данных
Я настоятельно рекомендовал бы, чтобы у Вас была игра вокруг с LINQPad ( http://www.linqpad.net ), это - бесплатный инструмент, который позволяет (umong вещи других) Вам соединяться с сервером базы данных и запрашивать его с помощью LINQ для SQL. Это вынимает боль из необходимости настроить Консольные приложения, чтобы сделать игру.
Вот несколько хороших учебных руководств (видео) от Систем OakLeaf:
http://oakleafblog.blogspot.com/2007/04/two-new-linq-to-sql-video-segments-from.html http://oakleafblog.blogspot.com/2007/05/mike-taulty-posts-six-new-linq-to-xml.html
РЕДАКТИРОВАНИЕ: я просто столкнулся с этим большим инструментом, созданным автором C# вкратце: http://www.linqpad.net/ Это включает много больших, легких следовать за образцами.
Я рекомендую эти Зацепляемый LINQ wiki. У них есть [приблизительно 111] большая вводная информация , а также больше подробно информация и образцы на всех операторах.
я перечислил много ссылок LINQ в выставочных примечаниях для Пасущийся Эпизод 10 Кода (на LINQ) . Одно из моего избранного статья MSDN Magazine, которая объясняет, как LINQ работает с точки зрения платформы способом, которая действительно помогла мне понять, как это работает.
Две книги необходимо рассмотреть для приобретения знаний о LINQ, обоих от Manning:
Первый был безусловно лучше записан и учил меня почти так же о LINQ в единственной главе, чем последний сделал в целой книге. LINQ основан на большой основе, и C# подробно создает его от земли.
вторая книга намного лучше чем ничего, и Вы изучите вещи конкретно о LINQ, который Вы не изучите в первом. Но первая книга даст Вам намного лучшую основу и поднимает, по крайней мере, маркерную перспективу вместо того, чтобы более или менее слепо следовать строке MS. Так, я рекомендую C# подробно прежде всего для изучения LINQ.
Mike
There is a podcast here (shameless plug) that covers LINQ from one of the authors of LINQ in Action.
Deep Fried Bytes - Episode 14: LINQ’ing the Future of Development with Jim Wooley
Lots of great stuff in that show that may also help you out.
Вот пошаговое руководство по включению LINQ в ваши веб-приложения в asp.net. Надеюсь, это поможет http://www.progtalk.com/viewarticle.aspx?articleid=68