[{"data":1,"prerenderedAt":484},["ShallowReactive",2],{"article-find-all-tables-containing-column-with-specified-name":3},{"article":4,"tags":91,"previous":106,"next":194},{"id":5,"title":6,"author":7,"body":8,"createdAt":81,"description":82,"extension":83,"img":73,"meta":84,"navigation":85,"path":86,"seo":87,"stem":88,"tags":89,"updatedAt":81,"__hash__":90},"articles\u002Farticles\u002Ffind-all-tables-containing-column-with-specified-name.md","Find all tables containing column with specified name","[object Object]",{"type":9,"value":10,"toc":79},"minimark",[11,15,63,75],[12,13,14],"p",{},"In order to find a column name anywhere it is used in a table or view I was able to use the\nfollowing SQL…",[16,17,22],"pre",{"className":18,"code":19,"language":20,"meta":21,"style":21},"language-sql shiki shiki-themes github-light github-dark","SELECT      COLUMN_NAME AS 'ColumnName'  \n            ,TABLE_NAME AS  'TableName'  \nFROM        INFORMATION_SCHEMA.COLUMNS  \nWHERE       COLUMN_NAME LIKE '%columnnameyouarelookingfor%'  \nORDER BY    TableName  \n            ,ColumnName;  \n","sql","",[23,24,25,33,39,45,51,57],"code",{"__ignoreMap":21},[26,27,30],"span",{"class":28,"line":29},"line",1,[26,31,32],{},"SELECT      COLUMN_NAME AS 'ColumnName'  \n",[26,34,36],{"class":28,"line":35},2,[26,37,38],{},"            ,TABLE_NAME AS  'TableName'  \n",[26,40,42],{"class":28,"line":41},3,[26,43,44],{},"FROM        INFORMATION_SCHEMA.COLUMNS  \n",[26,46,48],{"class":28,"line":47},4,[26,49,50],{},"WHERE       COLUMN_NAME LIKE '%columnnameyouarelookingfor%'  \n",[26,52,54],{"class":28,"line":53},5,[26,55,56],{},"ORDER BY    TableName  \n",[26,58,60],{"class":28,"line":59},6,[26,61,62],{},"            ,ColumnName;\n",[64,65,68],"a",{"style":66,"href":67},"display:none","\u002Farticles\u002Fimages\u002Fopen-live-writer-f5f906eb5cd0_bcd7-sql_2.png",[69,70],"img",{"title":20,"style":71,"border":72,"alt":20,"src":73,"width":74,"height":74},"border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; padding-right: 0px; border-top-width: 0px;display='none';",0,"\u002Farticles\u002Fimages\u002Fopen-live-writer-f5f906eb5cd0_bcd7-sql_thumb.png",240,[76,77,78],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":21,"searchDepth":35,"depth":35,"links":80},[],"2017-01-14T06:29:42.0000000-05:00","Find a column name anywhere.","md",{},true,"\u002Farticles\u002Ffind-all-tables-containing-column-with-specified-name",{"title":6,"description":82},"articles\u002Ffind-all-tables-containing-column-with-specified-name",[20],"D4x_b6dLDTOhJk_oDi11rJkwS-ARV4n6opJh-YLJXvE",[92],{"id":93,"title":94,"body":95,"description":99,"extension":83,"img":100,"meta":101,"name":20,"navigation":85,"path":102,"seo":103,"stem":104,"__hash__":105},"tags\u002Ftags\u002Fsql.md","Sql",{"type":9,"value":96,"toc":97},[],{"title":21,"searchDepth":35,"depth":35,"links":98},[],"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":99},"tags\u002Fsql","HleFpAIKGUPMxp855dHtmfuv32MNyIbaOTi0ZjW_I1k",{"id":107,"title":108,"author":7,"body":109,"createdAt":185,"description":186,"extension":83,"img":120,"meta":187,"navigation":85,"path":188,"seo":189,"stem":190,"tags":191,"updatedAt":185,"__hash__":193},"articles\u002Farticles\u002Fxamarin-mac-agent-unable-to-connect.md","Xamarin Mac Agent–Unable to connect",{"type":9,"value":110,"toc":183},[111,131,140,155,167,177,180],[12,112,113,124,127,128,130],{},[64,114,117],{"style":115,"href":116},"display: none;","\u002Farticles\u002Fimages\u002Fopen-live-writer-0ed91d2b3197_8765-image_2.png",[69,118],{"style":119,"src":120,"border":72,"alt":121,"title":121,"width":122,"height":123},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-width: 0px;","\u002Farticles\u002Fimages\u002Fopen-live-writer-0ed91d2b3197_8765-image_thumb.png","image",155,142,[125,126],"br",{},"\n ",[125,129],{},"\nI was unable to connect to Mac today.  Not sure why. ",[12,132,133,134,139],{},"I found this documentation from Xamarin ",[64,135,138],{"href":136,"target":137},"https:\u002F\u002Fdeveloper.xamarin.com\u002Fguides\u002Fios\u002Fgetting_started\u002Finstallation\u002Fwindows\u002Fconnecting-to-mac\u002F","_blank","here",". ",[12,141,142,143,146,147,149,150,127,152,154],{},"The document ",[64,144,138],{"href":145,"target":137},"https:\u002F\u002Fdeveloper.xamarin.com\u002Fguides\u002Fios\u002Fgetting_started\u002Finstallation\u002Fwindows\u002Fconnecting-to-mac\u002Ftroubleshooting\u002F"," gave me the solution.",[125,148],{},"\nOnce I did the following I was able to use the Xamarin Mac Agent (Visual Studio – Tools – iOS – Xamarin Mac Agent) to connect.",[125,151],{},[125,153],{},"\nNext, test if the ssh client from OpenSSH can connect successfully to the Mac from Windows. One way to install this program is to install",[12,156,157,161,162,166],{},[64,158,160],{"href":159},"https:\u002F\u002Fgit-for-windows.github.io\u002F","Git for Windows",". You can then start a ",[163,164,165],"strong",{},"Git Bash"," command prompt and attempt to ssh in to the Mac with your username and IP address",[12,168,169],{},[64,170,172],{"href":171},"\u002Farticles\u002Fimages\u002Fopen-live-writer-0ed91d2b3197_8765-image_4.png",[69,173],{"style":119,"src":174,"border":72,"alt":121,"title":121,"width":175,"height":176},"\u002Farticles\u002Fimages\u002Fopen-live-writer-0ed91d2b3197_8765-image_thumb_1.png",559,65,[12,178,179],{},"Once this was permanently added the Max Agent successfully connected. ",[12,181,182],{},"By the way I found SSH – I had Git for Windows installed, by opening GIT Shell.",{"title":21,"searchDepth":35,"depth":35,"links":184},[],"2017-01-18T02:46:11.6900000-05:00",null,{},"\u002Farticles\u002Fxamarin-mac-agent-unable-to-connect",{"title":108,"description":186},"articles\u002Fxamarin-mac-agent-unable-to-connect",[192],"xamarin","NW9Sc0uSvm7zSo9Iy-Pw8OzJPVXNMr37ucc_BNMcgng",{"id":195,"title":196,"author":7,"body":197,"createdAt":477,"description":186,"extension":83,"img":470,"meta":478,"navigation":85,"path":479,"seo":480,"stem":481,"tags":482,"updatedAt":477,"__hash__":483},"articles\u002Farticles\u002Fc-6-0-new-features.md","C# 6.0 New Features",{"type":9,"value":198,"toc":475},[199,202,208,225,240,251,304,310,319,322,337,351,376,382,391,394,409,415,425,430,460,473],[12,200,201],{},"The following features require the C# 6.0 compiler which is included in Visual Studio 2015.  Remarkably however C# 6 new features does not require and updated version of Microsoft .NET Framework (i.e. as long as you compile with VS.NET 2015 the features still work against .NET Framework 4).  This is possible as the features are implemented in the compiler itself and do not have dependencies on the .NET Framework.",[12,203,204,205,207],{},"1.) Using Static",[125,206],{},"\nUsing static directives for System.ConsoleColor looks like (as well as System.IO.Directory)",[16,209,213],{"className":210,"code":211,"language":212,"meta":21,"style":21},"language-csharp shiki shiki-themes github-light github-dark","using static System.ConsoleColor;  \nusing static System.IO.Directory;  \n","csharp",[23,214,215,220],{"__ignoreMap":21},[26,216,217],{"class":28,"line":29},[26,218,219],{},"using static System.ConsoleColor;  \n",[26,221,222],{"class":28,"line":35},[26,223,224],{},"using static System.IO.Directory;\n",[16,226,228],{"className":210,"code":227,"language":212,"meta":21,"style":21},"ForegroundColor = Yellow;  \nstring[] files = GetFiles(directoryPath, searchPattern, System.IO.SearchOption.AllDirectories);  \n",[23,229,230,235],{"__ignoreMap":21},[26,231,232],{"class":28,"line":29},[26,233,234],{},"ForegroundColor = Yellow;  \n",[26,236,237],{"class":28,"line":35},[26,238,239],{},"string[] files = GetFiles(directoryPath, searchPattern, System.IO.SearchOption.AllDirectories);\n",[12,241,242,243,127,245,247,248,250],{},"These enable the invocation of numerous methods, properties and enums directly.  In each case, this eliminates the need to qualify the static member with its type.",[125,244],{},[125,246],{},"\n2.) The nameof operator",[125,249],{},"\nThis is a new contextual keyword to identify a string literal that extracts a constant for (at compile time) the unqualified name of whatever identifier is specified as an argument.  The nameof(filename) returns “filename,” the name of the Encrypt method’s parameter.  However, nameof works with any programmatic identifier.  By leveraging the nameof operator, it’s possible to eliminate the vast majority of “magic” strings that refer to code identifiers as long as they’re in scope. This not only eliminates runtime errors due to misspellings within the magic strings, which are never verified by the complier, but also enables refactoring tools like Rename to update all references to the name change identifier.",[16,252,254],{"className":210,"code":253,"language":212,"meta":21,"style":21},"private static void Encrypt(string filename)  \n  {  \n    if (!Exists(filename)) \u002F\u002F LOGIC ERROR: Using Directory rather than File  \n    {  \n      throw new ArgumentException(\"The file does not exist.\",   \n        nameof(filename));  \n    }  \n    \u002F\u002F ...  \n  }\n",[23,255,256,261,266,271,276,281,286,292,298],{"__ignoreMap":21},[26,257,258],{"class":28,"line":29},[26,259,260],{},"private static void Encrypt(string filename)  \n",[26,262,263],{"class":28,"line":35},[26,264,265],{},"  {  \n",[26,267,268],{"class":28,"line":41},[26,269,270],{},"    if (!Exists(filename)) \u002F\u002F LOGIC ERROR: Using Directory rather than File  \n",[26,272,273],{"class":28,"line":47},[26,274,275],{},"    {  \n",[26,277,278],{"class":28,"line":53},[26,279,280],{},"      throw new ArgumentException(\"The file does not exist.\",   \n",[26,282,283],{"class":28,"line":59},[26,284,285],{},"        nameof(filename));  \n",[26,287,289],{"class":28,"line":288},7,[26,290,291],{},"    }  \n",[26,293,295],{"class":28,"line":294},8,[26,296,297],{},"    \u002F\u002F ...  \n",[26,299,301],{"class":28,"line":300},9,[26,302,303],{},"  }\n",[12,305,306,307,309],{}," ",[125,308],{},"\n3.) String Interpolation – this is an easier one to grasp.  This is the before syntax…",[16,311,313],{"className":210,"code":312,"language":212,"meta":21,"style":21},"string.Format(\"Hello!  My name is {0} {1} and I am {2} years old.\", person.FirstName, person.LastName, person.Age);\n",[23,314,315],{"__ignoreMap":21},[26,316,317],{"class":28,"line":29},[26,318,312],{},[12,320,321],{},"after…",[16,323,325],{"className":210,"code":324,"language":212,"meta":21,"style":21},"$\"Hello!  My name is {person.FirstName} {person.LastName} \n            and I am {person.Age} years old.\";\n",[23,326,327,332],{"__ignoreMap":21},[26,328,329],{"class":28,"line":29},[26,330,331],{},"$\"Hello!  My name is {person.FirstName} {person.LastName} \n",[26,333,334],{"class":28,"line":35},[26,335,336],{},"            and I am {person.Age} years old.\";\n",[12,338,339,340,127,342,344,345,347,348,350],{},"The string interpolation syntax reduces errors caused by arguments following the format string that are in improper order, or missing altogether and causing an exception.",[125,341],{},[125,343],{},"\n4.) Null-Conditional Operator",[125,346],{},"\nC# 6.0 introduces the “?.” operator known as the null-conditional operator.  The null-conditional operator translates to checking whether the operand is null prior to invoking the method or property.  What makes the null-conditional operator especially convenient is that it can be chained. If, for example, you invoke string",[26,349],{}," names = person?.Name?.Split(' '), Split will only be invoked if both person and person.Name are not null. When chained, if the first operand is null, the expression evaluation is short-circuited, and no further invocation within the expression call chain will occur.",[16,352,354],{"className":210,"code":353,"language":212,"meta":21,"style":21},"\u002F\u002Fafter  \nswitch (args?.Length) {}  \n\u002F\u002Fbefore  \n(args != null) ? (int?)args.Length : null  \n",[23,355,356,361,366,371],{"__ignoreMap":21},[26,357,358],{"class":28,"line":29},[26,359,360],{},"\u002F\u002Fafter  \n",[26,362,363],{"class":28,"line":35},[26,364,365],{},"switch (args?.Length) {}  \n",[26,367,368],{"class":28,"line":41},[26,369,370],{},"\u002F\u002Fbefore  \n",[26,372,373],{"class":28,"line":47},[26,374,375],{},"(args != null) ? (int?)args.Length : null\n",[12,377,378,379,381],{},"5.) Auto-Property Improvements",[125,380],{},"\nGetter-only auto-properties are a C# 6.0 feature for declaring read-only properties that are backed (internally) by a read-only field. As such, these properties can only be modified from within the constructor.  Rather than the six or so lines needed to declare a read-only property and initialize it prior to C# 6.0, now a single-line declaration and the assignment from within the constructor are all that’s needed.",[16,383,385],{"className":210,"code":384,"language":212,"meta":21,"style":21},"public ConsoleColor ForegroundColorVerbose { get; }\n",[23,386,387],{"__ignoreMap":21},[26,388,389],{"class":28,"line":29},[26,390,384],{},[12,392,393],{},"A second auto-property feature introduced in C# 6.0 is support for initializers.",[16,395,397],{"className":210,"code":396,"language":212,"meta":21,"style":21},"static private Lazy\u003CConsoleConfiguration>\nDefaultConfig{ get; } = new Lazy\u003CConsoleConfiguration>(() => new ConsoleConfiguration());\n",[23,398,399,404],{"__ignoreMap":21},[26,400,401],{"class":28,"line":29},[26,402,403],{},"static private Lazy\u003CConsoleConfiguration>\n",[26,405,406],{"class":28,"line":35},[26,407,408],{},"DefaultConfig{ get; } = new Lazy\u003CConsoleConfiguration>(() => new ConsoleConfiguration());\n",[12,410,411,412,414],{},"6.) Expression Bodied Methods and Auto-Properties",[125,413],{},"\nThis feature exists for both properties and methods and allows the use of the arrow operator (=>) to assign an expression to either a property or method in place of a statement body.",[16,416,418],{"className":210,"code":417,"language":212,"meta":21,"style":21},"static public ConsoleConfiguration GetDefault() => DefaultConfig.Value;  \n",[23,419,420],{"__ignoreMap":21},[26,421,422],{"class":28,"line":29},[26,423,424],{},"static public ConsoleConfiguration GetDefault() => DefaultConfig.Value;\n",[12,426,306,427,429],{},[125,428],{},"\n6.) Exception Improvements – ability to use a when clause to do additional filtering when an exception is thrown",[16,431,433],{"className":210,"code":432,"language":212,"meta":21,"style":21},"try { \n        \u002F\u002F Do stuff\n    } catch (Exception e) when ((DateTime.Now.DayOfWeek == DayOfWeek.Saturday) {\n        \u002F\u002F Swallow \n    }\n",[23,434,435,440,445,450,455],{"__ignoreMap":21},[26,436,437],{"class":28,"line":29},[26,438,439],{},"try { \n",[26,441,442],{"class":28,"line":35},[26,443,444],{},"        \u002F\u002F Do stuff\n",[26,446,447],{"class":28,"line":41},[26,448,449],{},"    } catch (Exception e) when ((DateTime.Now.DayOfWeek == DayOfWeek.Saturday) {\n",[26,451,452],{"class":28,"line":47},[26,453,454],{},"        \u002F\u002F Swallow \n",[26,456,457],{"class":28,"line":53},[26,458,459],{},"    }\n",[12,461,306,462,464],{},[125,463],{},[64,465,467],{"href":466},"\u002Farticles\u002Fimages\u002Fopen-live-writer-c-60-new-features_12307-c6_2.jpg",[69,468],{"style":469,"src":470,"border":72,"alt":471,"title":471,"width":74,"height":472},"background-image: none; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border: 0px;","\u002Farticles\u002Fimages\u002Fopen-live-writer-c-60-new-features_12307-c6_thumb.jpg","c6",135,[76,474,78],{},{"title":21,"searchDepth":35,"depth":35,"links":476},[],"2016-11-09T14:21:45.8700000-05:00",{},"\u002Farticles\u002Fc-6-0-new-features",{"title":196,"description":186},"articles\u002Fc-6-0-new-features",[212],"uMgZQ3TZwQfUVBOXbej-F7xUUHGEeZcIbN5MlW-pDw4",1781574767073]