[{"data":1,"prerenderedAt":954},["ShallowReactive",2],{"article-sql-server-2008-installation-ndash-not-so-quick":3},{"article":4,"tags":53,"previous":81,"next":192},{"id":5,"title":6,"author":7,"body":8,"createdAt":40,"description":41,"extension":42,"img":43,"meta":44,"navigation":45,"path":46,"seo":47,"stem":48,"tags":49,"updatedAt":40,"__hash__":52},"articles\u002Farticles\u002Fsql-server-2008-installation-ndash-not-so-quick.md","SQL Server 2008 Installation, not so quick","[object Object]",{"type":9,"value":10,"toc":36},"minimark",[11,22,25,33],[12,13,14,15,21],"p",{},"Before you rush to download SQL 2008 you may want to read the following KB article which warns that Visual Studio 2008 SP1 ‘may be required’ for SQL Server 2008 installations KB956139 (found ",[16,17,20],"a",{"href":18,"target":19},"http:\u002F\u002Fsupport.microsoft.com\u002Fkb\u002F956139","_blank","here",")",[12,23,24],{},"”Because certain SQL Server 2008 features install components that are also part of the release version of Visual Studio 2008 SP1, SQL Server 2008 requires Visual Studio 2008 with SP1. If Visual Studio 2008 without a service pack is installed instead, it may not work correctly after you install SQL Server 2008.“",[12,26,27,28,32],{},"Currently, ",[16,29,31],{"href":30,"target":19},"http:\u002F\u002Fmsdn.microsoft.com\u002Fen-us\u002Fvstudio\u002Fcc533448.aspx","Visual Studio 2008 Service Pack 1"," (SP1) is in beta at the current time.",[12,34,35],{},"I do not know the expected delivery of SP1 but should be soon (hang tight).",{"title":37,"searchDepth":38,"depth":38,"links":39},"",2,[],"2017-05-29T20:59:15.8643544Z","Before you rush to download SQL 2008 you may want to read the following KB article contained within this blog.","md","\u002Farticles\u002Fimages\u002Fl2oWZnThPG.png",{},true,"\u002Farticles\u002Fsql-server-2008-installation-ndash-not-so-quick",{"title":6,"description":41},"articles\u002Fsql-server-2008-installation-ndash-not-so-quick",[50,51],"sqlserver","sql","uUgrYz6hVSOWfcqo-ApYDrtjGpXT3uL0jd9PBGOi3E8",[54,68],{"id":55,"title":56,"body":57,"description":61,"extension":42,"img":62,"meta":63,"name":51,"navigation":45,"path":64,"seo":65,"stem":66,"__hash__":67},"tags\u002Ftags\u002Fsql.md","Sql",{"type":9,"value":58,"toc":59},[],{"title":37,"searchDepth":38,"depth":38,"links":60},[],"SQL is a standard language designed for managing data in relational database management system. SQL stands for Structured Query Language. SQL is a standard programming language specifically designed for storing, retrieving, managing or manipulating the data inside a relational database management system (RDBMS).","https:\u002F\u002Fimages.unsplash.com\u002Fphoto-1598313183973-4effcded8d5e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=675&q=80",{},"\u002Ftags\u002Fsql",{"description":61},"tags\u002Fsql","HleFpAIKGUPMxp855dHtmfuv32MNyIbaOTi0ZjW_I1k",{"id":69,"title":70,"body":71,"description":75,"extension":42,"img":62,"meta":76,"name":50,"navigation":45,"path":77,"seo":78,"stem":79,"__hash__":80},"tags\u002Ftags\u002Fsqlserver.md","Sqlserver",{"type":9,"value":72,"toc":73},[],{"title":37,"searchDepth":38,"depth":38,"links":74},[],"SQL Server is a relational database management system, or RDBMS, developed and marketed by Microsoft.",{},"\u002Ftags\u002Fsqlserver",{"description":75},"tags\u002Fsqlserver","pSzcNnE-XyUgq8RlgK2xBpbJV7_7o5NLS2XlwBxFyAg",{"id":82,"title":83,"author":7,"body":84,"createdAt":185,"description":88,"extension":42,"img":101,"meta":186,"navigation":45,"path":187,"seo":188,"stem":189,"tags":190,"updatedAt":185,"__hash__":191},"articles\u002Farticles\u002Fsql-server-profiler-trace-for-your-application.md","SQL Server Profiler - Trace for your Application",{"type":9,"value":85,"toc":183},[86,89,92,106,109,119,130,133,143,146,156,176],[12,87,88],{},"I want to watch the queries made by my application during development efforts.",[12,90,91],{},"Here is what I do… from SQL Server Management Studio, select SQL Server Profiler",[12,93,94],{},[16,95,97],{"href":96},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_2.png",[98,99],"img",{"style":100,"src":101,"border":102,"alt":103,"title":103,"width":104,"height":105},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;","\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb.png",0,"image",240,147,[12,107,108],{},"Start a new trace, providing the trace name (here I entered My Trace).  Select ‘Tuning’ for the ‘Use the Template’.  The Tuning template only watches the key events from SQL (RPC:Completed, SP:StmtCompleted, SQL:BatchCompleted).  Many of the other events while important just are not important to me at this point.",[12,110,111],{},[16,112,114],{"href":113},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_4.png",[98,115],{"style":100,"src":116,"border":102,"alt":103,"title":103,"width":117,"height":118},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb_1.png",326,208,[12,120,121,122],{},"Select the columns of value to you, including ApplicationName, HostName, LoginName and DatabaseName.  I also like to add columns StartTime, EndTime and RowCounts\n",[16,123,125],{"href":124},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_8.png",[98,126],{"style":100,"src":127,"border":102,"alt":103,"title":103,"width":128,"height":129},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb_3.png",324,99,[12,131,132],{},"Select Column Filters.  Here we will only show the events from my Application.  The ApplicationName can be specified on your connection string and if you provide you can use here as a filter.  As shown I have provided the Like = ODOT and also I want to exclude (checkbox) all other applications but this one.  Note; You can use wildcards with the like filters i.e. % for wildcard",[12,134,135],{},[16,136,138],{"href":137},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_10.png",[98,139],{"style":100,"src":140,"border":102,"alt":103,"title":103,"width":141,"height":142},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb_4.png",319,251,[12,144,145],{},"Select ‘Ok’ and execute some SQL.  You will see in the trace ONLY your sql queries from your application.  Invaluable.  I often have profiler running while I am performing unit testing in order to see the generated sql execution.",[12,147,148],{},[16,149,151],{"href":150},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_12.png",[98,152],{"style":100,"src":153,"border":102,"alt":103,"title":103,"width":154,"height":155},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb_5.png",430,77,[12,157,158,159,162,163,165,166,168],{},"Above we are showing the Duration (Amount of elapsed time (in milliseconds) taken by the event.). ",[160,161],"br",{},"\n ",[160,164],{},"\nTip: when complete you can use File Save As to save the newly created profile as a Template, then when you want to re-use for another application it will be there and available (the only modification would be changing the application name variable in the filter).",[160,167],{},[16,169,171],{"href":170},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_6.png",[98,172],{"style":100,"src":173,"border":102,"alt":103,"title":103,"width":174,"height":175},"\u002Farticles\u002Fimages\u002Fwindows-live-writer-cdd803dd36c3_860d-image_thumb_2.png",322,205,[12,177,178,179],{},"Reference: ",[16,180,182],{"href":181,"target":19},"https:\u002F\u002Fmsdn.microsoft.com\u002Fen-us\u002Flibrary\u002Fms190176.aspx","SQL Server Profiler Templates MSDN",{"title":37,"searchDepth":38,"depth":38,"links":184},[],"2017-05-29T20:59:16.0698525Z",{},"\u002Farticles\u002Fsql-server-profiler-trace-for-your-application",{"title":83,"description":88},"articles\u002Fsql-server-profiler-trace-for-your-application",[50],"HTBk5k_jTh3xjo-5-NdIUQxyV-IPi6QAU0VhquYLg8g",{"id":193,"title":194,"author":7,"body":195,"createdAt":946,"description":199,"extension":42,"img":942,"meta":947,"navigation":45,"path":948,"seo":949,"stem":950,"tags":951,"updatedAt":946,"__hash__":953},"articles\u002Farticles\u002Fgeneric-collections-and-filtering.md","Generic Collections and Filtering",{"type":9,"value":196,"toc":944},[197,200,203,206,209,212,589,938,940],[12,198,199],{},"When dealing with collections the common question is how to filter them based on criteria. ",[12,201,202],{},"The following are a few techniques used to accomplish this.  A delegate is like a function pointer. ",[12,204,205],{},"A predicate is a method that returns true or false. ",[12,207,208],{},"In the case of List\u003CT> it is possible to pass it a delegate that is a function that returns true or false.",[12,210,211],{},"In the examples below I have base object a generic collection of those objects and am using the FindAll method to return only a few of the objects based on matching criteria.  There are a number of samples, just un-comment the ones of interest.   ",[213,214,216,217,222,223,226,227,231,232,234,235,222,238,241,242,231,244,246,247,251,252,255,256,222,259,261,262,231,264,246,266,251,268,255,271,222,274,276,277,231,279,246,281,251,284,255,287,290,291,294,295,298,299,302,303,222,306,314,315,222,318,314,321,222,324,314,327,222,330,314,333,222,336,314,339,302,342,222,345,314,348,222,351,314,354,302,357,222,360,314,363,222,366,314,369,222,372,314,375,302,378,222,381,314,386,222,389,392,393,395,396,231,398,246,401,403,404,407,408,411,412,302,415,302,418,222,421,314,426,222,429,314,432,222,435,314,438,222,441,444,302,447,302,450,222,453,314,458,222,461,314,467,222,470,314,473,222,476,314,479,222,482,314,485,222,488,314,491,222,494,314,497,222,500,314,503,222,506,314,509,222,512,314,515,222,518,314,521,302,524,222,527,314,530,222,533,314,538,222,541,314,544,222,547,314,550,222,553,314,556,222,559,314,562,222,565,314,568,222,571,314,574,222,577,314,579,222,582,314,584,222,587,231],"div",{"style":215},"font-size: 8pt; background: white; color: black; font-family: consolas","   ",[218,219,221],"span",{"style":220},"color: #2b91af","   23","             ",[218,224,225],{"style":220},"Persons"," personList = ",[218,228,230],{"style":229},"color: blue","new"," ",[218,233,225],{"style":220},"();    ",[218,236,237],{"style":220},"   24",[218,239,240],{"style":220},"Person"," p1 = ",[218,243,230],{"style":229},[218,245,240],{"style":220},"(",[218,248,250],{"style":249},"color: #a31515","\"Rose\"",", ",[218,253,254],{"style":249},"\"Bob\"",");    ",[218,257,258],{"style":220},"   25",[218,260,240],{"style":220}," p2 = ",[218,263,230],{"style":229},[218,265,240],{"style":220},[218,267,250],{"style":249},[218,269,270],{"style":249},"\"Phil\"",[218,272,273],{"style":220},"   26",[218,275,240],{"style":220}," p3 = ",[218,278,230],{"style":229},[218,280,240],{"style":220},[218,282,283],{"style":249},"\"Smith\"",[218,285,286],{"style":249},"\"Jack\"",[218,288,289],{"style":220},"   27","             personList.Add(p1);    ",[218,292,293],{"style":220},"   28","             personList.Add(p2);    ",[218,296,297],{"style":220},"   29","             personList.Add(p3);    ",[218,300,301],{"style":220},"   30","     ",[218,304,305],{"style":220},"   31",[218,307,309,310],{"style":308},"color: green","\u002F\u002F",[311,312,313],"strong",{},"Sample 1 Using Predicate Technique (long form)","    ",[218,316,317],{"style":220},"   32",[218,319,320],{"style":308},"\u002F\u002FPredicate\u003CPerson> filterByLastName;",[218,322,323],{"style":220},"   33",[218,325,326],{"style":308},"\u002F\u002FPersonFilter filter = new PersonFilter(\"Rose\");",[218,328,329],{"style":220},"   34",[218,331,332],{"style":308},"\u002F\u002FfilterByLastName = new Predicate\u003CPerson>(filter.FilterByLastName);",[218,334,335],{"style":220},"   35",[218,337,338],{"style":308},"\u002F\u002FList\u003CPerson> list = personList.FindAll(filterByLastName);",[218,340,341],{"style":220},"   36",[218,343,344],{"style":220},"   37",[218,346,347],{"style":308},"\u002F\u002FResponse.Write(\"Original Collection Count \" + personList.Count.ToString() + \"\u003Cbr \u002F>\");",[218,349,350],{"style":220},"   38",[218,352,353],{"style":308},"\u002F\u002FResponse.Write(\"Filtered List Count \" + list.Count.ToString() + \"\u003Cbr \u002F>\");",[218,355,356],{"style":220},"   39",[218,358,359],{"style":220},"   40",[218,361,362],{"style":308},"\u002F\u002F\u002F\u002F this is a shorter version and uses the RemoveAll method to items",[218,364,365],{"style":220},"   41",[218,367,368],{"style":308},"\u002F\u002FpersonList.RemoveAll(filterByLastName);",[218,370,371],{"style":220},"   42",[218,373,374],{"style":308},"\u002F\u002FResponse.Write(\"After persons removed from the collection Count \" + personList.Count.ToString());",[218,376,377],{"style":220},"   43",[218,379,380],{"style":220},"   44",[218,382,309,383],{"style":308},[311,384,385],{},"Sample 2 shortform version",[218,387,388],{"style":220},"   45",[218,390,391],{"style":220},"List","\u003C",[218,394,240],{"style":220},"> list2 = personList.FindAll(",[218,397,230],{"style":229},[218,399,400],{"style":220},"PersonFilter",[218,402,250],{"style":249},").FilterByLastName);    ",[218,405,406],{"style":220},"   46","             Response.Write(",[218,409,410],{"style":249},"\"Count \""," + list2.Count.ToString());",[218,413,414],{"style":220},"   47",[218,416,417],{"style":220},"   48",[218,419,420],{"style":220},"   49",[218,422,309,423],{"style":308},[311,424,425],{},"Sample 3 using lambda expression",[218,427,428],{"style":220},"   50",[218,430,431],{"style":308},"\u002F\u002FList\u003CPerson> list3 = personList.FindAll(",[218,433,434],{"style":220},"   51",[218,436,437],{"style":308},"\u002F\u002F    r => r.LastName == \"Rose\");",[218,439,440],{"style":220},"   52",[218,442,443],{"style":308},"\u002F\u002FResponse.Write(\"Count \" + list3.Count.ToString());",[218,445,446],{"style":220},"   53",[218,448,449],{"style":220},"   54",[218,451,452],{"style":220},"   55",[218,454,309,455],{"style":308},[311,456,457],{},"Sample 4 with arrays",[218,459,460],{"style":220},"   56",[218,462,463,464,466],{"style":308},"\u002F\u002FPerson",[218,465],{}," personList2 = {",[218,468,469],{"style":220},"   57",[218,471,472],{"style":308},"\u002F\u002F   new Person(\"Rose\", \"Bob\"),",[218,474,475],{"style":220},"   58",[218,477,478],{"style":308},"\u002F\u002F   new Person(\"Rose\", \"Phil\"),",[218,480,481],{"style":220},"   59",[218,483,484],{"style":308},"\u002F\u002F   new Person(\"Smith\", \"Jack\"),",[218,486,487],{"style":220},"   60",[218,489,490],{"style":308},"\u002F\u002F};",[218,492,493],{"style":220},"   61",[218,495,496],{"style":308},"\u002F\u002Foutputs each person in array",[218,498,499],{"style":220},"   62",[218,501,502],{"style":308},"\u002F\u002FArray.ForEach(personList2, delegate(Person p)",[218,504,505],{"style":220},"   63",[218,507,508],{"style":308},"\u002F\u002F{",[218,510,511],{"style":220},"   64",[218,513,514],{"style":308},"\u002F\u002F    Response.Write(p.LastName + \"\u003Cbr \u002F>\");",[218,516,517],{"style":220},"   65",[218,519,520],{"style":308},"\u002F\u002F});",[218,522,523],{"style":220},"   66",[218,525,526],{"style":220},"   67",[218,528,529],{"style":308},"\u002F\u002Foutputs each person after findall",[218,531,532],{"style":220},"   68",[218,534,463,535,537],{"style":308},[218,536],{}," personList3 = Array.FindAll(personList2, ",[218,539,540],{"style":220},"   69",[218,542,543],{"style":308},"\u002F\u002F    delegate (Person p)",[218,545,546],{"style":220},"   70",[218,548,549],{"style":308},"\u002F\u002F    {",[218,551,552],{"style":220},"   71",[218,554,555],{"style":308},"\u002F\u002F        return p.LastName == \"Rose\";",[218,557,558],{"style":220},"   72",[218,560,561],{"style":308},"\u002F\u002F    }",[218,563,564],{"style":220},"   73",[218,566,567],{"style":308},"\u002F\u002F);",[218,569,570],{"style":220},"   74",[218,572,573],{"style":308},"\u002F\u002FArray.ForEach(personList3, delegate(Person p)",[218,575,576],{"style":220},"   75",[218,578,508],{"style":308},[218,580,581],{"style":220},"   76",[218,583,514],{"style":308},[218,585,586],{"style":220},"   77",[218,588,520],{"style":308},[213,590,216,591,594,595,231,598,231,601,603,604,392,606,608,609,302,612,594,615,617,618,621,622,625,626,302,629,302,632,302,635,638,639,231,641,231,643,645,646,302,649,594,652,231,655,658,659,594,662,231,664,666,667,594,670,231,672,674,675,678,679,645,682,222,685,658,688,691,692,678,695,645,698,701,702,705,706,691,709,712,713,594,716,231,718,720,721,678,724,645,726,222,729,666,731,691,734,678,737,645,739,742,743,705,745,691,748,621,751,302,754,594,757,759,760,762,763,765,766,769,770,773,774,712,777,302,780,625,783,302,786,302,789,638,792,231,794,231,796,314,798,645,801,302,804,594,807,231,809,811,812,302,815,594,818,820,821,823,824,827,828,831,832,621,835,302,838,594,841,231,843,846,847,849,850,827,853,678,856,859,860,863,864,222,867,231,869,705,872,691,875,678,878,231,880,705,883,621,886,302,889,302,892,594,895,231,897,899,900,849,902,827,905,678,908,910,911,863,914,222,917,231,919,705,921,691,924,678,927,231,929,705,931,621,934,937],{"style":215},[218,592,593],{"style":220},"   86","     ",[218,596,597],{"style":229},"public",[218,599,600],{"style":229},"class",[218,602,225],{"style":220}," : System.Collections.Generic.",[218,605,391],{"style":220},[218,607,240],{"style":220},"> {    ",[218,610,611],{"style":220},"   87",[218,613,614],{"style":220},"   88",[218,616,597],{"style":229}," Persons() {    ",[218,619,620],{"style":220},"   89","     }    ",[218,623,624],{"style":220},"   90"," }    ",[218,627,628],{"style":220},"   91",[218,630,631],{"style":220},"   92",[218,633,634],{"style":220},"   93",[218,636,637],{"style":220},"   94"," ",[218,640,597],{"style":229},[218,642,600],{"style":229},[218,644,240],{"style":220}," {    ",[218,647,648],{"style":220},"   95",[218,650,651],{"style":220},"   96",[218,653,654],{"style":229},"private",[218,656,657],{"style":229},"string"," _lastName;    ",[218,660,661],{"style":220},"   97",[218,663,654],{"style":229},[218,665,657],{"style":229}," _firstName;    ",[218,668,669],{"style":220},"   98",[218,671,597],{"style":229},[218,673,657],{"style":229}," LastName {    ",[218,676,677],{"style":220},"   99","         ",[218,680,681],{"style":229},"get",[218,683,684],{"style":220},"  100",[218,686,687],{"style":229},"return",[218,689,690],{"style":220},"  101","         }    ",[218,693,694],{"style":220},"  102",[218,696,697],{"style":229},"set",[218,699,700],{"style":220},"  103","             _lastName = ",[218,703,704],{"style":229},"value",";    ",[218,707,708],{"style":220},"  104",[218,710,711],{"style":220},"  105","     }        ",[218,714,715],{"style":220},"  106",[218,717,597],{"style":229},[218,719,657],{"style":229}," FirstName {    ",[218,722,723],{"style":220},"  107",[218,725,681],{"style":229},[218,727,728],{"style":220},"  108",[218,730,687],{"style":229},[218,732,733],{"style":220},"  109",[218,735,736],{"style":220},"  110",[218,738,697],{"style":229},[218,740,741],{"style":220},"  111","             _firstName = ",[218,744,704],{"style":229},[218,746,747],{"style":220},"  112",[218,749,750],{"style":220},"  113",[218,752,753],{"style":220},"  114",[218,755,756],{"style":220},"  115",[218,758,597],{"style":229}," Person(",[218,761,657],{"style":229}," lastName, ",[218,764,657],{"style":229}," firstName) {    ",[218,767,768],{"style":220},"  116","         _lastName = lastName;    ",[218,771,772],{"style":220},"  117","         _firstName = firstName;    ",[218,775,776],{"style":220},"  118",[218,778,779],{"style":220},"  119",[218,781,782],{"style":220},"  120",[218,784,785],{"style":220},"  121",[218,787,788],{"style":220},"  122",[218,790,791],{"style":220},"  123",[218,793,597],{"style":229},[218,795,600],{"style":229},[218,797,400],{"style":220},[218,799,800],{"style":220},"  124",[218,802,803],{"style":220},"  125",[218,805,806],{"style":220},"  126",[218,808,654],{"style":229},[218,810,657],{"style":229}," _match;    ",[218,813,814],{"style":220},"  127",[218,816,817],{"style":220},"  128",[218,819,597],{"style":229}," PersonFilter(",[218,822,657],{"style":229}," match)    ",[218,825,826],{"style":220},"  129","     {    ",[218,829,830],{"style":220},"  130","         _match = match;    ",[218,833,834],{"style":220},"  131",[218,836,837],{"style":220},"  132",[218,839,840],{"style":220},"  133",[218,842,597],{"style":229},[218,844,845],{"style":229},"bool"," FilterByLastName(",[218,848,240],{"style":220}," per)    ",[218,851,852],{"style":220},"  134",[218,854,855],{"style":220},"  135",[218,857,858],{"style":229},"if"," (per.LastName == _match)    ",[218,861,862],{"style":220},"  136","         {    ",[218,865,866],{"style":220},"  137",[218,868,687],{"style":229},[218,870,871],{"style":229},"true",[218,873,874],{"style":220},"  138",[218,876,877],{"style":220},"  139",[218,879,687],{"style":229},[218,881,882],{"style":229},"false",[218,884,885],{"style":220},"  140",[218,887,888],{"style":220},"  141",[218,890,891],{"style":220},"  142",[218,893,894],{"style":220},"  143",[218,896,597],{"style":229},[218,898,845],{"style":229}," FilterByFirstName(",[218,901,240],{"style":220},[218,903,904],{"style":220},"  144",[218,906,907],{"style":220},"  145",[218,909,858],{"style":229}," (per.FirstName == _match)    ",[218,912,913],{"style":220},"  146",[218,915,916],{"style":220},"  147",[218,918,687],{"style":229},[218,920,871],{"style":229},[218,922,923],{"style":220},"  148",[218,925,926],{"style":220},"  149",[218,928,687],{"style":229},[218,930,882],{"style":229},[218,932,933],{"style":220},"  150",[218,935,936],{"style":220},"  151"," } ",[160,939],{},[98,941],{"src":942,"alt":37,"style":943},"\u002Farticles\u002Fimages\u002Ffilter.jpg","display:none;",{"title":37,"searchDepth":38,"depth":38,"links":945},[],"2017-05-29T20:59:15.8338506Z",{},"\u002Farticles\u002Fgeneric-collections-and-filtering",{"title":194,"description":199},"articles\u002Fgeneric-collections-and-filtering",[952],"csharp","fUAFW_aqKskOuF4PIpWXrn1qMk6NyjR1YFeTVoFP0Go",1781574766993]