[{"data":1,"prerenderedAt":2782},["ShallowReactive",2],{"blog:2007:codesmith-template-to-generate-linq-to-sql-data-context":3,"blogMore-Development":2768,"comments-codesmith-template-to-generate-linq-to-sql-data-context":2781},{"id":4,"title":5,"body":6,"category":2751,"commentCount":109,"date":2752,"description":12,"excerpt":2753,"extension":2754,"filenames":2755,"hidden":2756,"image":2755,"meta":2757,"minutes":182,"navigation":870,"path":2758,"seo":2759,"showCategory":2755,"stem":2760,"tags":2761,"updated":2755,"url":2765,"wordCount":2766,"__hash__":2767},"content\u002Fblog\u002F2007\u002Fcodesmith-template-to-generate-linq-to-sql-data-context.md","CodeSmith template to generate LINQ To SQL Data Context",{"type":7,"value":8,"toc":2749},"minimark",[9,13,16,28,2739,2745],[10,11,12],"p",{},"If you are interested in what LINQ to SQL generates and don’t have Orcas installed or available right now but use CodeSmith try the following template to generate very similar code.",[10,14,15],{},"The primary difference is that this writes out the System types rather than the C# aliases (e.g. System.Int32 instead of int) but that could easily be changed but is binary compatible and otherwise almost identical to the source.",[17,18,19],"blockquote",{},[10,20,21,22,27],{},"Download ",[23,24,26],"a",{"href":25},"https:\u002F\u002Fdl.damieng.com\u002Fdotnet\u002FLINQToSQL-CodeSmith.zip","LINQ to SQL template (CodeSmith)"," (4 KB)",[29,30,35],"pre",{"className":31,"code":32,"language":33,"meta":34,"style":34},"language-csharp shiki shiki-themes everforest-light dracula","\u003C%@ CodeTemplate Src=\"LinqFunctions.cs\" Inherits=\"LinqFunctions\" Language=\"C#\" TargetLanguage=\"C#\"\n  Description=\"Generates a data context and entities for given tables.\" %>\n\u003C%@ Assembly Name=\"SchemaExplorer\" %>\n\u003C%@ Assembly Name=\"System.Data\" %>\n\u003C%@ Import Namespace=\"SchemaExplorer\" %>\n\u003C%@ Import Namespace=\"System.Collections.Generic\" %>\n\u003C%@ Import Namespace=\"System.Data\" %>\n\u003C%@ Property Name=\"DataContextClassName\" Type=\"System.String\" Category=\"Naming\" Optional=\"True\"Description=\"Name of the data context class to generate.\" %>\n\u003C%@ Property Name=\"Namespace\" Type=\"System.String\" Category=\"Naming\" Optional=\"True\" Description=\"Namespace for the data context class to generate.\" %>\n\u003C%@ Property Name=\"SourceTables\" Type=\"SchemaExplorer.TableSchemaCollection\" Category=\"Connection\"Description=\"Tables to be mapped.\" %>\n\u003C%SchemaExplorer.DatabaseSchema database = SourceTables[0].Database;\nstring className = (String.IsNullOrEmpty(DataContextClassName)) ? DatabaseName(database) + \"DataContext\" : DataContextClassName;\nDictionary\u003CTableSchema, List\u003CTableKeySchema>> reverseForeignKeys = new Dictionary\u003CTableSchema, List\u003CTableKeySchema>>();\nforeach(TableSchema table in SourceTables) {\n    foreach(TableKeySchema keySchema in table.ForeignKeys) {\n        if (reverseForeignKeys.ContainsKey(keySchema.PrimaryKeyTable)) {\n            reverseForeignKeys[keySchema.PrimaryKeyTable].Add(keySchema);\n        }\n        else {\n            List\u003CTableKeySchema> keySchemas = new List\u003CTableKeySchema>();\n            keySchemas.Add(keySchema);\n            reverseForeignKeys.Add(keySchema.PrimaryKeyTable, keySchemas);\n        }\n    }\n}%>\u002F\u002F------------------------------------------------------------------------------\n\u002F\u002F \u003Cauto-generated>\n\u002F\u002F     This code was generated by a tool.\n\u002F\u002F     CodeSmith template DeLINQuent.cst v0.1\n\u002F\u002F     Generated by \u003C%=CurrentUserName()%> at \u003C%=DateTime.Now%>\n\u002F\u002F\n\u002F\u002F     Changes to this file may cause incorrect behavior and will be lost if\n\u002F\u002F     the code is regenerated.\n\u002F\u002F \u003C\u002Fauto-generated>\n\u002F\u002F------------------------------------------------------------------------------\nnamespace \u003C%=Namespace%>{\n    public partial class \u003C%=className%> : global::System.Data.Linq.DataContext\n    {\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        public \u003C%=className%>(string connection) :\n                base(connection)\n        {\n        }\n\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        public ProjectDataContext(global::System.Data.IDbConnection connection) :\n                base(connection) {\n        }\n\u003C%    foreach(TableSchema table in SourceTables) {\n        string entityName = EntityName(table);\n        string propertyName = TableName(table);%>\n        public global::System.Data.Linq.Table\u003C\u003C%=entityName%>> \u003C%=propertyName%> {\n            get {\n                return this.GetTable\u003C\u003C%=entityName%>>();\n            }\n        }\n\u003C%     } %>\n    }\u003C%    foreach(TableSchema table in SourceTables) {\n        string entityName = EntityName(table);%>\n    [global::System.Data.Linq.Table(Name=\"\u003C%=table.FullName%>\")]\n    public partial class \u003C%=entityName%> :global::System.Data.Linq.INotifyPropertyChanging,global::System.ComponentModel.INotifyPropertyChanged\n    {\n\u003C%    foreach(ColumnSchema column in table.Columns) { %>\n        private \u003C%=NullableSystemType(column)%> _\u003C%=PropertyName(column)%>;\n\u003C%    }\n      if (table.ForeignKeys.Count > 0) { %>\n\u003C%        foreach(TableKeySchema keySchema in table.ForeignKeys) {\n            string foreignEntityName = EntityName(keySchema.PrimaryKeyTable);%>\n        private global::System.Data.Linq.EntitySet\u003C\u003C%=foreignEntityName%>> _\u003C%=foreignEntityName%>;\u003C%\n          }\n      }\n      if (reverseForeignKeys.ContainsKey(table)) { %>\n\u003C%        foreach(TableKeySchema keySchema in reverseForeignKeys[table]) {\n            string propertyName = TableName(keySchema.ForeignKeyTable);%>\n        private global::System.Data.Linq.EntityRet\u003C\u003C%=EntityName(keySchema.ForeignKeyTable)%>> _\u003C%=propertyName%>;\n\u003C%        }\n      } %>\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        public \u003C%=entityName%>() {\n        }\n\u003C%    foreach(ColumnSchema column in table.Columns) {\n        string propertyName = PropertyName(column);%>\n        [global::System.Data.Linq.Column(Storage=\"_\u003C%=propertyName%>\", Name=\"\u003C%=column.Name%>\", DBType=\"\u003C%=AttributeColumnDbType(column)%>\"\u003C%\n            if (column.IsPrimaryKeyMember) { %>, IsPrimaryKey=true\u003C% }\n            if (!column.AllowDBNull) { %>, CanBeNull=false\u003C% } %>)]\n        public \u003C%=NullableSystemType(column)%> \u003C%=propertyName%> {\n            get {\n                return this._\u003C%=propertyName%>;\n            }\n            set {\n                if (this._\u003C%=propertyName%> != value) {\n                    this.OnPropertyChanging(\"\u003C%=propertyName%>\");\n                    this._\u003C%=propertyName%> = value;\n                    this.OnPropertyChanged(\"\u003C%=propertyName%>\");\n                }\n            }\n        }\n\n\u003C%    } %>\n\u003C%    foreach(TableKeySchema keySchema in table.ForeignKeys) {\n        string propertyName = EntityName(keySchema.PrimaryKeyTable);\n        string tableName = TableName(keySchema.PrimaryKeyTable);%>\n        [global::System.Data.Linq.Association(Name=\"\u003C%=keySchema.Name%>\",\n            Storage=\"_\u003C%=propertyName%>\", OtherKey=\"\u003C%=AttributeColumnList(keySchema.ForeignKeyMemberColumns)%>\",\n            ThisKey=\"\u003C%=AttributeColumnList(keySchema.PrimaryKeyMemberColumns)%>\", IsForeignKey=true)]\n        public \u003C%=propertyName%> \u003C%=propertyName%> {\n            get {\n                return this._\u003C%=propertyName%>.Entity;\n            }\n            set {\n                if (this._\u003C%=propertyName%>.Entity != value) {\n                    this.OnPropertyChanging(\"\u003C%=propertyName%>\");\n                    if ((this._\u003C%=propertyName%>.Entity != null)) {\n                        \u003C%=propertyName%> temp = this._\u003C%=propertyName%>.Entity;\n                        this._\u003C%=propertyName%>.Entity = null;\n                        temp.\u003C%=TableName(table)%>.Remove(this);\n                    }\n                    this._\u003C%=propertyName%>.Entity = value;\n                    if ((value != null)) {\n                        value.\u003C%=TableName(table)%>.Add(this);\n                    }\n                    this.OnPropertyChanged(\"\u003C%=propertyName%>\");\n                }\n            }\n        }\n\u003C%    } %>\n\u003C%    if (reverseForeignKeys.ContainsKey(table)) {\n        foreach(TableKeySchema keySchema in reverseForeignKeys[table]) {\n            string propertyName = TableName(keySchema.ForeignKeyTable);%>\n        [global::System.Data.Linq.Association(Name=\"\u003C%=keySchema.Name%>\",\n            Storage=\"_\u003C%=propertyName%>\", OtherKey=\"\u003C%=AttributeColumnList(keySchema.PrimaryKeyMemberColumns)%>\",\n            ThisKey=\"\u003C%=AttributeColumnList(keySchema.ForeignKeyMemberColumns)%>\")]\n        public IEnumerable\u003C\u003C%=EntityName(keySchema.ForeignKeyTable)%>> \u003C%=propertyName%> {\n            get {\n                return this._\u003C%=propertyName%>;\n            }\n        }\n\n\u003C%             }\n        } %>\n        public event global::System.ComponentModel.PropertyChangedEventHandler PropertyChanging;\n        public event global::System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\n\n        [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        protected void OnPropertyChanging(string propertyName) {\n            if (this.PropertyChanging != null)\n                this.PropertyChanging(this, new global::System.ComponentModel.PropertyChangedEventArgs(propertyName));\n        }\n\n[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]\n        protected void OnPropertyChanged(string propertyName) {\n            if (this.PropertyChanged != null)\n                this.PropertyChanged(this, new global::System.ComponentModel.PropertyChangedEventArgs(propertyName));\n        }\n    }\n\u003C%     } %>\n}\n","csharp","",[36,37,38,107,125,144,162,180,198,215,282,342,393,429,477,527,547,571,592,611,617,626,653,663,678,683,689,702,708,714,720,726,732,738,744,750,755,771,783,789,818,844,854,860,865,872,896,927,935,940,954,971,990,1028,1034,1056,1062,1067,1077,1083,1089,1129,1139,1144,1171,1202,1209,1220,1242,1264,1307,1313,1319,1329,1350,1371,1417,1424,1430,1451,1467,1472,1491,1508,1570,1600,1638,1659,1664,1682,1687,1693,1717,1740,1759,1779,1785,1790,1795,1800,1810,1828,1845,1865,1903,1931,1955,1974,1979,1999,2004,2009,2030,2049,2075,2103,2123,2150,2156,2173,2188,2212,2217,2236,2241,2246,2251,2260,2275,2288,2307,2342,2367,2382,2408,2413,2430,2435,2440,2445,2453,2461,2482,2508,2513,2534,2555,2576,2613,2618,2623,2644,2662,2682,2715,2720,2725,2733],"code",{"__ignoreMap":34},[39,40,43,47,51,55,58,61,65,69,71,74,76,78,81,83,86,88,90,93,95,98,100,102,104],"span",{"class":41,"line":42},"line",1,[39,44,46],{"class":45},"s9HRq","\u003C%",[39,48,50],{"class":49},"s6Vpi","@ ",[39,52,54],{"class":53},"snuxY","CodeTemplate",[39,56,57],{"class":49}," Src",[39,59,60],{"class":45},"=",[39,62,64],{"class":63},"sciFF","\"",[39,66,68],{"class":67},"sJQOs","LinqFunctions.cs",[39,70,64],{"class":63},[39,72,73],{"class":49}," Inherits",[39,75,60],{"class":45},[39,77,64],{"class":63},[39,79,80],{"class":67},"LinqFunctions",[39,82,64],{"class":63},[39,84,85],{"class":49}," Language",[39,87,60],{"class":45},[39,89,64],{"class":63},[39,91,92],{"class":67},"C#",[39,94,64],{"class":63},[39,96,97],{"class":49}," TargetLanguage",[39,99,60],{"class":45},[39,101,64],{"class":63},[39,103,92],{"class":67},[39,105,106],{"class":63},"\"\n",[39,108,110,113,115,117,120,122],{"class":41,"line":109},2,[39,111,112],{"class":49},"  Description",[39,114,60],{"class":45},[39,116,64],{"class":63},[39,118,119],{"class":67},"Generates a data context and entities for given tables.",[39,121,64],{"class":63},[39,123,124],{"class":45}," %>\n",[39,126,128,130,133,135,137,140,142],{"class":41,"line":127},3,[39,129,46],{"class":45},[39,131,132],{"class":49},"@ Assembly Name",[39,134,60],{"class":45},[39,136,64],{"class":63},[39,138,139],{"class":67},"SchemaExplorer",[39,141,64],{"class":63},[39,143,124],{"class":45},[39,145,147,149,151,153,155,158,160],{"class":41,"line":146},4,[39,148,46],{"class":45},[39,150,132],{"class":49},[39,152,60],{"class":45},[39,154,64],{"class":63},[39,156,157],{"class":67},"System.Data",[39,159,64],{"class":63},[39,161,124],{"class":45},[39,163,165,167,170,172,174,176,178],{"class":41,"line":164},5,[39,166,46],{"class":45},[39,168,169],{"class":49},"@ Import Namespace",[39,171,60],{"class":45},[39,173,64],{"class":63},[39,175,139],{"class":67},[39,177,64],{"class":63},[39,179,124],{"class":45},[39,181,183,185,187,189,191,194,196],{"class":41,"line":182},6,[39,184,46],{"class":45},[39,186,169],{"class":49},[39,188,60],{"class":45},[39,190,64],{"class":63},[39,192,193],{"class":67},"System.Collections.Generic",[39,195,64],{"class":63},[39,197,124],{"class":45},[39,199,201,203,205,207,209,211,213],{"class":41,"line":200},7,[39,202,46],{"class":45},[39,204,169],{"class":49},[39,206,60],{"class":45},[39,208,64],{"class":63},[39,210,157],{"class":67},[39,212,64],{"class":63},[39,214,124],{"class":45},[39,216,218,220,223,225,227,230,232,235,237,239,242,244,247,249,251,254,256,259,261,263,266,268,271,273,275,278,280],{"class":41,"line":217},8,[39,219,46],{"class":45},[39,221,222],{"class":49},"@ Property Name",[39,224,60],{"class":45},[39,226,64],{"class":63},[39,228,229],{"class":67},"DataContextClassName",[39,231,64],{"class":63},[39,233,234],{"class":49}," Type",[39,236,60],{"class":45},[39,238,64],{"class":63},[39,240,241],{"class":67},"System.String",[39,243,64],{"class":63},[39,245,246],{"class":49}," Category",[39,248,60],{"class":45},[39,250,64],{"class":63},[39,252,253],{"class":67},"Naming",[39,255,64],{"class":63},[39,257,258],{"class":49}," Optional",[39,260,60],{"class":45},[39,262,64],{"class":63},[39,264,265],{"class":67},"True",[39,267,64],{"class":63},[39,269,270],{"class":49},"Description",[39,272,60],{"class":45},[39,274,64],{"class":63},[39,276,277],{"class":67},"Name of the data context class to generate.",[39,279,64],{"class":63},[39,281,124],{"class":45},[39,283,285,287,289,291,293,296,298,300,302,304,306,308,310,312,314,316,318,320,322,324,326,328,331,333,335,338,340],{"class":41,"line":284},9,[39,286,46],{"class":45},[39,288,222],{"class":49},[39,290,60],{"class":45},[39,292,64],{"class":63},[39,294,295],{"class":67},"Namespace",[39,297,64],{"class":63},[39,299,234],{"class":49},[39,301,60],{"class":45},[39,303,64],{"class":63},[39,305,241],{"class":67},[39,307,64],{"class":63},[39,309,246],{"class":49},[39,311,60],{"class":45},[39,313,64],{"class":63},[39,315,253],{"class":67},[39,317,64],{"class":63},[39,319,258],{"class":49},[39,321,60],{"class":45},[39,323,64],{"class":63},[39,325,265],{"class":67},[39,327,64],{"class":63},[39,329,330],{"class":49}," Description",[39,332,60],{"class":45},[39,334,64],{"class":63},[39,336,337],{"class":67},"Namespace for the data context class to generate.",[39,339,64],{"class":63},[39,341,124],{"class":45},[39,343,345,347,349,351,353,356,358,360,362,364,367,369,371,373,375,378,380,382,384,386,389,391],{"class":41,"line":344},10,[39,346,46],{"class":45},[39,348,222],{"class":49},[39,350,60],{"class":45},[39,352,64],{"class":63},[39,354,355],{"class":67},"SourceTables",[39,357,64],{"class":63},[39,359,234],{"class":49},[39,361,60],{"class":45},[39,363,64],{"class":63},[39,365,366],{"class":67},"SchemaExplorer.TableSchemaCollection",[39,368,64],{"class":63},[39,370,246],{"class":49},[39,372,60],{"class":45},[39,374,64],{"class":63},[39,376,377],{"class":67},"Connection",[39,379,64],{"class":63},[39,381,270],{"class":49},[39,383,60],{"class":45},[39,385,64],{"class":63},[39,387,388],{"class":67},"Tables to be mapped.",[39,390,64],{"class":63},[39,392,124],{"class":45},[39,394,396,398,401,405,408,410,413,416,420,423,426],{"class":41,"line":395},11,[39,397,46],{"class":45},[39,399,400],{"class":49},"SchemaExplorer.",[39,402,404],{"class":403},"sSKRk","DatabaseSchema",[39,406,407],{"class":49}," database ",[39,409,60],{"class":45},[39,411,412],{"class":403}," SourceTables",[39,414,415],{"class":49},"[",[39,417,419],{"class":418},"s3Ipq","0",[39,421,422],{"class":49},"].",[39,424,425],{"class":403},"Database",[39,427,428],{"class":49},";\n",[39,430,432,436,439,441,444,448,451,454,457,460,463,466,469,471,474],{"class":41,"line":431},12,[39,433,435],{"class":434},"sXAHl","string",[39,437,438],{"class":49}," className ",[39,440,60],{"class":45},[39,442,443],{"class":49}," (String.",[39,445,447],{"class":446},"sS4Kt","IsNullOrEmpty",[39,449,450],{"class":49},"(DataContextClassName)) ",[39,452,453],{"class":45},"?",[39,455,456],{"class":446}," DatabaseName",[39,458,459],{"class":49},"(database) ",[39,461,462],{"class":45},"+",[39,464,465],{"class":63}," \"",[39,467,468],{"class":67},"DataContext",[39,470,64],{"class":63},[39,472,473],{"class":45}," :",[39,475,476],{"class":49}," DataContextClassName;\n",[39,478,480,483,486,489,492,495,497,500,503,505,509,512,514,516,518,520,522,524],{"class":41,"line":479},13,[39,481,482],{"class":53},"Dictionary",[39,484,485],{"class":49},"\u003C",[39,487,488],{"class":53},"TableSchema",[39,490,491],{"class":49},", ",[39,493,494],{"class":53},"List",[39,496,485],{"class":49},[39,498,499],{"class":53},"TableKeySchema",[39,501,502],{"class":49},">> reverseForeignKeys ",[39,504,60],{"class":45},[39,506,508],{"class":507},"smiwp"," new",[39,510,511],{"class":53}," Dictionary",[39,513,485],{"class":49},[39,515,488],{"class":53},[39,517,491],{"class":49},[39,519,494],{"class":53},[39,521,485],{"class":49},[39,523,499],{"class":53},[39,525,526],{"class":49},">>();\n",[39,528,530,533,536,538,541,544],{"class":41,"line":529},14,[39,531,532],{"class":507},"foreach",[39,534,535],{"class":49},"(",[39,537,488],{"class":53},[39,539,540],{"class":49}," table ",[39,542,543],{"class":507},"in",[39,545,546],{"class":49}," SourceTables) {\n",[39,548,550,553,555,557,560,562,565,568],{"class":41,"line":549},15,[39,551,552],{"class":507},"    foreach",[39,554,535],{"class":49},[39,556,499],{"class":53},[39,558,559],{"class":49}," keySchema ",[39,561,543],{"class":507},[39,563,564],{"class":49}," table.",[39,566,567],{"class":403},"ForeignKeys",[39,569,570],{"class":49},") {\n",[39,572,574,577,580,583,586,589],{"class":41,"line":573},16,[39,575,576],{"class":507},"        if",[39,578,579],{"class":49}," (reverseForeignKeys.",[39,581,582],{"class":446},"ContainsKey",[39,584,585],{"class":49},"(keySchema.",[39,587,588],{"class":403},"PrimaryKeyTable",[39,590,591],{"class":49},")) {\n",[39,593,595,598,601,603,605,608],{"class":41,"line":594},17,[39,596,597],{"class":403},"            reverseForeignKeys",[39,599,600],{"class":49},"[keySchema.",[39,602,588],{"class":403},[39,604,422],{"class":49},[39,606,607],{"class":446},"Add",[39,609,610],{"class":49},"(keySchema);\n",[39,612,614],{"class":41,"line":613},18,[39,615,616],{"class":49},"        }\n",[39,618,620,623],{"class":41,"line":619},19,[39,621,622],{"class":507},"        else",[39,624,625],{"class":49}," {\n",[39,627,629,632,634,636,639,641,643,646,648,650],{"class":41,"line":628},20,[39,630,631],{"class":53},"            List",[39,633,485],{"class":49},[39,635,499],{"class":53},[39,637,638],{"class":49},"> keySchemas ",[39,640,60],{"class":45},[39,642,508],{"class":507},[39,644,645],{"class":53}," List",[39,647,485],{"class":49},[39,649,499],{"class":53},[39,651,652],{"class":49},">();\n",[39,654,656,659,661],{"class":41,"line":655},21,[39,657,658],{"class":49},"            keySchemas.",[39,660,607],{"class":446},[39,662,610],{"class":49},[39,664,666,669,671,673,675],{"class":41,"line":665},22,[39,667,668],{"class":49},"            reverseForeignKeys.",[39,670,607],{"class":446},[39,672,585],{"class":49},[39,674,588],{"class":403},[39,676,677],{"class":49},", keySchemas);\n",[39,679,681],{"class":41,"line":680},23,[39,682,616],{"class":49},[39,684,686],{"class":41,"line":685},24,[39,687,688],{"class":49},"    }\n",[39,690,692,695,698],{"class":41,"line":691},25,[39,693,694],{"class":49},"}",[39,696,697],{"class":45},"%>",[39,699,701],{"class":700},"sSX4p","\u002F\u002F------------------------------------------------------------------------------\n",[39,703,705],{"class":41,"line":704},26,[39,706,707],{"class":700},"\u002F\u002F \u003Cauto-generated>\n",[39,709,711],{"class":41,"line":710},27,[39,712,713],{"class":700},"\u002F\u002F     This code was generated by a tool.\n",[39,715,717],{"class":41,"line":716},28,[39,718,719],{"class":700},"\u002F\u002F     CodeSmith template DeLINQuent.cst v0.1\n",[39,721,723],{"class":41,"line":722},29,[39,724,725],{"class":700},"\u002F\u002F     Generated by \u003C%=CurrentUserName()%> at \u003C%=DateTime.Now%>\n",[39,727,729],{"class":41,"line":728},30,[39,730,731],{"class":700},"\u002F\u002F\n",[39,733,735],{"class":41,"line":734},31,[39,736,737],{"class":700},"\u002F\u002F     Changes to this file may cause incorrect behavior and will be lost if\n",[39,739,741],{"class":41,"line":740},32,[39,742,743],{"class":700},"\u002F\u002F     the code is regenerated.\n",[39,745,747],{"class":41,"line":746},33,[39,748,749],{"class":700},"\u002F\u002F \u003C\u002Fauto-generated>\n",[39,751,753],{"class":41,"line":752},34,[39,754,701],{"class":700},[39,756,758,762,765,768],{"class":41,"line":757},35,[39,759,761],{"class":760},"s6f1k","namespace",[39,763,764],{"class":49}," \u003C%=",[39,766,295],{"class":767},"sjYfO",[39,769,770],{"class":49},"%>{\n",[39,772,774,777,780],{"class":41,"line":773},36,[39,775,776],{"class":45},"    public",[39,778,779],{"class":45}," partial",[39,781,782],{"class":49}," class \u003C%=className%> : global::System.Data.Linq.DataContext\n",[39,784,786],{"class":41,"line":785},37,[39,787,788],{"class":49},"    {\n",[39,790,792,795,798,801,804,807,810,812,815],{"class":41,"line":791},38,[39,793,794],{"class":49},"        [",[39,796,797],{"class":53},"global",[39,799,800],{"class":49},"::",[39,802,803],{"class":53},"System",[39,805,806],{"class":49},".",[39,808,809],{"class":53},"Diagnostics",[39,811,806],{"class":49},[39,813,814],{"class":53},"DebuggerNonUserCodeAttribute",[39,816,817],{"class":49},"()]\n",[39,819,821,824,827,829,832,834,836,838,841],{"class":41,"line":820},39,[39,822,823],{"class":45},"        public",[39,825,826],{"class":49}," \u003C%",[39,828,60],{"class":45},[39,830,831],{"class":49},"className",[39,833,697],{"class":45},[39,835,535],{"class":49},[39,837,435],{"class":434},[39,839,840],{"class":49}," connection) ",[39,842,843],{"class":45},":\n",[39,845,847,851],{"class":41,"line":846},40,[39,848,850],{"class":849},"stJs5","                base",[39,852,853],{"class":49},"(connection)\n",[39,855,857],{"class":41,"line":856},41,[39,858,859],{"class":49},"        {\n",[39,861,863],{"class":41,"line":862},42,[39,864,616],{"class":49},[39,866,868],{"class":41,"line":867},43,[39,869,871],{"emptyLinePlaceholder":870},true,"\n",[39,873,875,877,880,883,885,888,890,892,894],{"class":41,"line":874},44,[39,876,794],{"class":49},[39,878,797],{"class":879},"s7cAX",[39,881,882],{"class":49},":",[39,884,882],{"class":45},[39,886,887],{"class":49},"System.",[39,889,809],{"class":403},[39,891,806],{"class":49},[39,893,814],{"class":446},[39,895,817],{"class":49},[39,897,899,902,905,907,909,911,913,915,918,920,923,925],{"class":41,"line":898},45,[39,900,901],{"class":49},"        public ",[39,903,904],{"class":446},"ProjectDataContext",[39,906,535],{"class":49},[39,908,797],{"class":879},[39,910,882],{"class":49},[39,912,882],{"class":45},[39,914,887],{"class":49},[39,916,917],{"class":403},"Data",[39,919,806],{"class":49},[39,921,922],{"class":403},"IDbConnection",[39,924,840],{"class":49},[39,926,843],{"class":45},[39,928,930,932],{"class":41,"line":929},46,[39,931,850],{"class":849},[39,933,934],{"class":49},"(connection) {\n",[39,936,938],{"class":41,"line":937},47,[39,939,616],{"class":49},[39,941,943,945,947,950,952],{"class":41,"line":942},48,[39,944,46],{"class":45},[39,946,552],{"class":446},[39,948,949],{"class":49},"(TableSchema table ",[39,951,543],{"class":45},[39,953,546],{"class":49},[39,955,957,960,963,965,968],{"class":41,"line":956},49,[39,958,959],{"class":434},"        string",[39,961,962],{"class":49}," entityName ",[39,964,60],{"class":45},[39,966,967],{"class":446}," EntityName",[39,969,970],{"class":49},"(table);\n",[39,972,974,976,979,981,984,987],{"class":41,"line":973},50,[39,975,959],{"class":434},[39,977,978],{"class":49}," propertyName ",[39,980,60],{"class":45},[39,982,983],{"class":446}," TableName",[39,985,986],{"class":49},"(table);",[39,988,989],{"class":45},"%>\n",[39,991,993,996,998,1000,1002,1004,1007,1010,1013,1016,1019,1021,1024,1026],{"class":41,"line":992},51,[39,994,995],{"class":49},"        public global",[39,997,800],{"class":45},[39,999,887],{"class":49},[39,1001,917],{"class":403},[39,1003,806],{"class":49},[39,1005,1006],{"class":403},"Linq",[39,1008,1009],{"class":49},".Table",[39,1011,1012],{"class":45},"\u003C\u003C%=",[39,1014,1015],{"class":49},"entityName",[39,1017,1018],{"class":45},"%>>",[39,1020,764],{"class":45},[39,1022,1023],{"class":49},"propertyName",[39,1025,697],{"class":45},[39,1027,625],{"class":49},[39,1029,1031],{"class":41,"line":1030},52,[39,1032,1033],{"class":49},"            get {\n",[39,1035,1037,1040,1044,1046,1049,1051,1053],{"class":41,"line":1036},53,[39,1038,1039],{"class":49},"                return ",[39,1041,1043],{"class":1042},"sKO3f","this",[39,1045,806],{"class":49},[39,1047,1048],{"class":446},"GetTable",[39,1050,1012],{"class":49},[39,1052,1015],{"class":53},[39,1054,1055],{"class":49},"%>>();\n",[39,1057,1059],{"class":41,"line":1058},54,[39,1060,1061],{"class":49},"            }\n",[39,1063,1065],{"class":41,"line":1064},55,[39,1066,616],{"class":49},[39,1068,1070,1072,1075],{"class":41,"line":1069},56,[39,1071,46],{"class":45},[39,1073,1074],{"class":49},"     } ",[39,1076,989],{"class":45},[39,1078,1080],{"class":41,"line":1079},57,[39,1081,1082],{"class":49},"    }\u003C%    foreach(TableSchema table in SourceTables) {\n",[39,1084,1086],{"class":41,"line":1085},58,[39,1087,1088],{"class":49},"        string entityName = EntityName(table);%>\n",[39,1090,1092,1095,1097,1099,1101,1103,1105,1107,1109,1111,1114,1117,1119,1121,1124,1126],{"class":41,"line":1091},59,[39,1093,1094],{"class":49},"    [",[39,1096,797],{"class":53},[39,1098,800],{"class":49},[39,1100,803],{"class":53},[39,1102,806],{"class":49},[39,1104,917],{"class":53},[39,1106,806],{"class":49},[39,1108,1006],{"class":53},[39,1110,806],{"class":49},[39,1112,1113],{"class":53},"Table",[39,1115,1116],{"class":49},"(Name",[39,1118,60],{"class":45},[39,1120,64],{"class":63},[39,1122,1123],{"class":67},"\u003C%=table.FullName%>",[39,1125,64],{"class":63},[39,1127,1128],{"class":49},")]\n",[39,1130,1132,1134,1136],{"class":41,"line":1131},60,[39,1133,776],{"class":45},[39,1135,779],{"class":45},[39,1137,1138],{"class":49}," class \u003C%=entityName%> :global::System.Data.Linq.INotifyPropertyChanging,global::System.ComponentModel.INotifyPropertyChanged\n",[39,1140,1142],{"class":41,"line":1141},61,[39,1143,788],{"class":49},[39,1145,1147,1150,1152,1154,1157,1160,1163,1166,1169],{"class":41,"line":1146},62,[39,1148,1149],{"class":49},"\u003C%    ",[39,1151,532],{"class":446},[39,1153,535],{"class":49},[39,1155,1156],{"class":53},"ColumnSchema",[39,1158,1159],{"class":879}," column",[39,1161,1162],{"class":53}," in",[39,1164,1165],{"class":879}," table",[39,1167,1168],{"class":49},".Columns) { ",[39,1170,989],{"class":45},[39,1172,1174,1177,1180,1183,1186,1188,1191,1193,1196,1198,1200],{"class":41,"line":1173},63,[39,1175,1176],{"class":49},"        private ",[39,1178,1179],{"class":45},"\u003C%=",[39,1181,1182],{"class":446},"NullableSystemType",[39,1184,1185],{"class":49},"(column)",[39,1187,697],{"class":45},[39,1189,1190],{"class":49}," _",[39,1192,1179],{"class":45},[39,1194,1195],{"class":446},"PropertyName",[39,1197,1185],{"class":49},[39,1199,697],{"class":45},[39,1201,428],{"class":49},[39,1203,1205,1207],{"class":41,"line":1204},64,[39,1206,46],{"class":45},[39,1208,688],{"class":49},[39,1210,1212,1215,1218],{"class":41,"line":1211},65,[39,1213,1214],{"class":446},"      if",[39,1216,1217],{"class":49}," (table.ForeignKeys.Count > 0) { ",[39,1219,989],{"class":45},[39,1221,1223,1225,1228,1230,1232,1234,1236,1238,1240],{"class":41,"line":1222},66,[39,1224,46],{"class":45},[39,1226,1227],{"class":507},"        foreach",[39,1229,535],{"class":49},[39,1231,499],{"class":53},[39,1233,559],{"class":49},[39,1235,543],{"class":507},[39,1237,564],{"class":49},[39,1239,567],{"class":403},[39,1241,570],{"class":49},[39,1243,1245,1248,1251,1253,1255,1257,1259,1262],{"class":41,"line":1244},67,[39,1246,1247],{"class":434},"            string",[39,1249,1250],{"class":49}," foreignEntityName ",[39,1252,60],{"class":45},[39,1254,967],{"class":446},[39,1256,585],{"class":49},[39,1258,588],{"class":403},[39,1260,1261],{"class":49},");",[39,1263,989],{"class":45},[39,1265,1267,1269,1271,1273,1275,1277,1279,1281,1283,1286,1288,1291,1293,1295,1297,1299,1301,1304],{"class":41,"line":1266},68,[39,1268,1176],{"class":49},[39,1270,797],{"class":403},[39,1272,882],{"class":49},[39,1274,882],{"class":45},[39,1276,887],{"class":49},[39,1278,917],{"class":403},[39,1280,806],{"class":49},[39,1282,1006],{"class":403},[39,1284,1285],{"class":49},".EntitySet",[39,1287,1012],{"class":45},[39,1289,1290],{"class":49},"foreignEntityName",[39,1292,1018],{"class":45},[39,1294,1190],{"class":49},[39,1296,1179],{"class":45},[39,1298,1290],{"class":49},[39,1300,697],{"class":45},[39,1302,1303],{"class":49},";",[39,1305,1306],{"class":45},"\u003C%\n",[39,1308,1310],{"class":41,"line":1309},69,[39,1311,1312],{"class":49},"          }\n",[39,1314,1316],{"class":41,"line":1315},70,[39,1317,1318],{"class":49},"      }\n",[39,1320,1322,1324,1327],{"class":41,"line":1321},71,[39,1323,1214],{"class":446},[39,1325,1326],{"class":49}," (reverseForeignKeys.ContainsKey(table)) { ",[39,1328,989],{"class":45},[39,1330,1332,1334,1336,1338,1340,1342,1344,1347],{"class":41,"line":1331},72,[39,1333,46],{"class":45},[39,1335,1227],{"class":507},[39,1337,535],{"class":49},[39,1339,499],{"class":53},[39,1341,559],{"class":49},[39,1343,543],{"class":507},[39,1345,1346],{"class":403}," reverseForeignKeys",[39,1348,1349],{"class":49},"[table]) {\n",[39,1351,1353,1356,1358,1360,1362,1364,1367,1369],{"class":41,"line":1352},73,[39,1354,1355],{"class":434},"            string",[39,1357,978],{"class":49},[39,1359,60],{"class":45},[39,1361,983],{"class":446},[39,1363,585],{"class":49},[39,1365,1366],{"class":403},"ForeignKeyTable",[39,1368,1261],{"class":49},[39,1370,989],{"class":45},[39,1372,1374,1376,1378,1380,1382,1384,1386,1388,1390,1393,1395,1398,1400,1402,1405,1407,1409,1411,1413,1415],{"class":41,"line":1373},74,[39,1375,1176],{"class":49},[39,1377,797],{"class":403},[39,1379,882],{"class":49},[39,1381,882],{"class":45},[39,1383,887],{"class":49},[39,1385,917],{"class":403},[39,1387,806],{"class":49},[39,1389,1006],{"class":403},[39,1391,1392],{"class":49},".EntityRet",[39,1394,1012],{"class":45},[39,1396,1397],{"class":446},"EntityName",[39,1399,585],{"class":49},[39,1401,1366],{"class":403},[39,1403,1404],{"class":49},")",[39,1406,1018],{"class":45},[39,1408,1190],{"class":49},[39,1410,1179],{"class":45},[39,1412,1023],{"class":49},[39,1414,697],{"class":45},[39,1416,428],{"class":49},[39,1418,1420,1422],{"class":41,"line":1419},75,[39,1421,46],{"class":45},[39,1423,616],{"class":49},[39,1425,1427],{"class":41,"line":1426},76,[39,1428,1429],{"class":49},"      } %>\n",[39,1431,1433,1435,1437,1439,1441,1443,1445,1447,1449],{"class":41,"line":1432},77,[39,1434,794],{"class":49},[39,1436,797],{"class":53},[39,1438,800],{"class":49},[39,1440,803],{"class":53},[39,1442,806],{"class":49},[39,1444,809],{"class":53},[39,1446,806],{"class":49},[39,1448,814],{"class":53},[39,1450,817],{"class":49},[39,1452,1454,1456,1458,1460,1462,1464],{"class":41,"line":1453},78,[39,1455,823],{"class":45},[39,1457,826],{"class":49},[39,1459,60],{"class":45},[39,1461,1015],{"class":49},[39,1463,697],{"class":45},[39,1465,1466],{"class":49},"() {\n",[39,1468,1470],{"class":41,"line":1469},79,[39,1471,616],{"class":49},[39,1473,1475,1477,1479,1482,1484,1486,1489],{"class":41,"line":1474},80,[39,1476,46],{"class":45},[39,1478,552],{"class":446},[39,1480,1481],{"class":49},"(ColumnSchema column ",[39,1483,543],{"class":45},[39,1485,564],{"class":49},[39,1487,1488],{"class":403},"Columns",[39,1490,570],{"class":49},[39,1492,1494,1496,1498,1500,1503,1506],{"class":41,"line":1493},81,[39,1495,959],{"class":434},[39,1497,978],{"class":49},[39,1499,60],{"class":45},[39,1501,1502],{"class":446}," PropertyName",[39,1504,1505],{"class":49},"(column);",[39,1507,989],{"class":45},[39,1509,1511,1513,1515,1517,1519,1521,1523,1525,1527,1529,1532,1535,1537,1539,1542,1544,1547,1549,1551,1554,1556,1559,1561,1563,1566,1568],{"class":41,"line":1510},82,[39,1512,794],{"class":49},[39,1514,797],{"class":879},[39,1516,882],{"class":49},[39,1518,882],{"class":45},[39,1520,887],{"class":49},[39,1522,917],{"class":403},[39,1524,806],{"class":49},[39,1526,1006],{"class":403},[39,1528,806],{"class":49},[39,1530,1531],{"class":446},"Column",[39,1533,1534],{"class":49},"(Storage",[39,1536,60],{"class":45},[39,1538,64],{"class":63},[39,1540,1541],{"class":67},"_\u003C%=propertyName%>",[39,1543,64],{"class":63},[39,1545,1546],{"class":49},", Name",[39,1548,60],{"class":45},[39,1550,64],{"class":63},[39,1552,1553],{"class":67},"\u003C%=column.Name%>",[39,1555,64],{"class":63},[39,1557,1558],{"class":49},", DBType",[39,1560,60],{"class":45},[39,1562,64],{"class":63},[39,1564,1565],{"class":67},"\u003C%=AttributeColumnDbType(column)%>",[39,1567,64],{"class":63},[39,1569,1306],{"class":45},[39,1571,1573,1576,1579,1582,1585,1587,1590,1592,1595,1597],{"class":41,"line":1572},83,[39,1574,1575],{"class":446},"            if",[39,1577,1578],{"class":49}," (column.",[39,1580,1581],{"class":403},"IsPrimaryKeyMember",[39,1583,1584],{"class":49},") { ",[39,1586,697],{"class":45},[39,1588,1589],{"class":49},", IsPrimaryKey",[39,1591,60],{"class":45},[39,1593,1594],{"class":418},"true",[39,1596,46],{"class":45},[39,1598,1599],{"class":49}," }\n",[39,1601,1603,1605,1608,1611,1614,1617,1619,1621,1624,1626,1629,1631,1634,1636],{"class":41,"line":1602},84,[39,1604,1575],{"class":446},[39,1606,1607],{"class":49}," (",[39,1609,1610],{"class":45},"!",[39,1612,1613],{"class":49},"column.",[39,1615,1616],{"class":403},"AllowDBNull",[39,1618,1584],{"class":49},[39,1620,697],{"class":45},[39,1622,1623],{"class":49},", CanBeNull",[39,1625,60],{"class":45},[39,1627,1628],{"class":418},"false",[39,1630,46],{"class":45},[39,1632,1633],{"class":49}," } ",[39,1635,697],{"class":45},[39,1637,1128],{"class":49},[39,1639,1641,1643,1645,1647,1649,1651,1653,1655,1657],{"class":41,"line":1640},85,[39,1642,901],{"class":49},[39,1644,1179],{"class":45},[39,1646,1182],{"class":446},[39,1648,1185],{"class":49},[39,1650,697],{"class":45},[39,1652,764],{"class":45},[39,1654,1023],{"class":49},[39,1656,697],{"class":45},[39,1658,625],{"class":49},[39,1660,1662],{"class":41,"line":1661},86,[39,1663,1033],{"class":49},[39,1665,1667,1669,1671,1674,1676,1678,1680],{"class":41,"line":1666},87,[39,1668,1039],{"class":49},[39,1670,1043],{"class":1042},[39,1672,1673],{"class":49},"._",[39,1675,1179],{"class":45},[39,1677,1023],{"class":49},[39,1679,697],{"class":45},[39,1681,428],{"class":49},[39,1683,1685],{"class":41,"line":1684},88,[39,1686,1061],{"class":49},[39,1688,1690],{"class":41,"line":1689},89,[39,1691,1692],{"class":49},"            set {\n",[39,1694,1696,1699,1701,1703,1705,1707,1709,1711,1714],{"class":41,"line":1695},90,[39,1697,1698],{"class":446},"                if",[39,1700,1607],{"class":49},[39,1702,1043],{"class":1042},[39,1704,1673],{"class":49},[39,1706,1179],{"class":45},[39,1708,1023],{"class":49},[39,1710,697],{"class":45},[39,1712,1713],{"class":45}," !=",[39,1715,1716],{"class":49}," value) {\n",[39,1718,1720,1723,1725,1728,1730,1732,1735,1737],{"class":41,"line":1719},91,[39,1721,1722],{"class":1042},"                    this",[39,1724,806],{"class":49},[39,1726,1727],{"class":446},"OnPropertyChanging",[39,1729,535],{"class":49},[39,1731,64],{"class":63},[39,1733,1734],{"class":67},"\u003C%=propertyName%>",[39,1736,64],{"class":63},[39,1738,1739],{"class":49},");\n",[39,1741,1743,1745,1747,1749,1751,1753,1756],{"class":41,"line":1742},92,[39,1744,1722],{"class":1042},[39,1746,1673],{"class":49},[39,1748,1179],{"class":45},[39,1750,1023],{"class":49},[39,1752,697],{"class":45},[39,1754,1755],{"class":45}," =",[39,1757,1758],{"class":49}," value;\n",[39,1760,1762,1764,1766,1769,1771,1773,1775,1777],{"class":41,"line":1761},93,[39,1763,1722],{"class":1042},[39,1765,806],{"class":49},[39,1767,1768],{"class":446},"OnPropertyChanged",[39,1770,535],{"class":49},[39,1772,64],{"class":63},[39,1774,1734],{"class":67},[39,1776,64],{"class":63},[39,1778,1739],{"class":49},[39,1780,1782],{"class":41,"line":1781},94,[39,1783,1784],{"class":49},"                }\n",[39,1786,1788],{"class":41,"line":1787},95,[39,1789,1061],{"class":49},[39,1791,1793],{"class":41,"line":1792},96,[39,1794,616],{"class":49},[39,1796,1798],{"class":41,"line":1797},97,[39,1799,871],{"emptyLinePlaceholder":870},[39,1801,1803,1805,1808],{"class":41,"line":1802},98,[39,1804,46],{"class":45},[39,1806,1807],{"class":49},"    } ",[39,1809,989],{"class":45},[39,1811,1813,1815,1817,1820,1822,1824,1826],{"class":41,"line":1812},99,[39,1814,46],{"class":45},[39,1816,552],{"class":446},[39,1818,1819],{"class":49},"(TableKeySchema keySchema ",[39,1821,543],{"class":45},[39,1823,564],{"class":49},[39,1825,567],{"class":403},[39,1827,570],{"class":49},[39,1829,1831,1833,1835,1837,1839,1841,1843],{"class":41,"line":1830},100,[39,1832,959],{"class":434},[39,1834,978],{"class":49},[39,1836,60],{"class":45},[39,1838,967],{"class":446},[39,1840,585],{"class":49},[39,1842,588],{"class":403},[39,1844,1739],{"class":49},[39,1846,1848,1850,1853,1855,1857,1859,1861,1863],{"class":41,"line":1847},101,[39,1849,959],{"class":434},[39,1851,1852],{"class":49}," tableName ",[39,1854,60],{"class":45},[39,1856,983],{"class":446},[39,1858,585],{"class":49},[39,1860,588],{"class":403},[39,1862,1261],{"class":49},[39,1864,989],{"class":45},[39,1866,1868,1870,1872,1874,1876,1878,1880,1882,1884,1886,1889,1891,1893,1895,1898,1900],{"class":41,"line":1867},102,[39,1869,794],{"class":49},[39,1871,797],{"class":879},[39,1873,882],{"class":49},[39,1875,882],{"class":45},[39,1877,887],{"class":49},[39,1879,917],{"class":403},[39,1881,806],{"class":49},[39,1883,1006],{"class":403},[39,1885,806],{"class":49},[39,1887,1888],{"class":446},"Association",[39,1890,1116],{"class":49},[39,1892,60],{"class":45},[39,1894,64],{"class":63},[39,1896,1897],{"class":67},"\u003C%=keySchema.Name%>",[39,1899,64],{"class":63},[39,1901,1902],{"class":49},",\n",[39,1904,1906,1909,1911,1913,1915,1917,1920,1922,1924,1927,1929],{"class":41,"line":1905},103,[39,1907,1908],{"class":49},"            Storage",[39,1910,60],{"class":45},[39,1912,64],{"class":63},[39,1914,1541],{"class":67},[39,1916,64],{"class":63},[39,1918,1919],{"class":49},", OtherKey",[39,1921,60],{"class":45},[39,1923,64],{"class":63},[39,1925,1926],{"class":67},"\u003C%=AttributeColumnList(keySchema.ForeignKeyMemberColumns)%>",[39,1928,64],{"class":63},[39,1930,1902],{"class":49},[39,1932,1934,1937,1939,1941,1944,1946,1949,1951,1953],{"class":41,"line":1933},104,[39,1935,1936],{"class":49},"            ThisKey",[39,1938,60],{"class":45},[39,1940,64],{"class":63},[39,1942,1943],{"class":67},"\u003C%=AttributeColumnList(keySchema.PrimaryKeyMemberColumns)%>",[39,1945,64],{"class":63},[39,1947,1948],{"class":49},", IsForeignKey",[39,1950,60],{"class":45},[39,1952,1594],{"class":418},[39,1954,1128],{"class":49},[39,1956,1958,1960,1962,1964,1966,1968,1970,1972],{"class":41,"line":1957},105,[39,1959,901],{"class":49},[39,1961,1179],{"class":45},[39,1963,1023],{"class":49},[39,1965,697],{"class":45},[39,1967,764],{"class":45},[39,1969,1023],{"class":49},[39,1971,697],{"class":45},[39,1973,625],{"class":49},[39,1975,1977],{"class":41,"line":1976},106,[39,1978,1033],{"class":49},[39,1980,1982,1984,1986,1989,1991,1994,1997],{"class":41,"line":1981},107,[39,1983,1039],{"class":49},[39,1985,1043],{"class":1042},[39,1987,1988],{"class":49},"._\u003C%=",[39,1990,1023],{"class":53},[39,1992,1993],{"class":49},"%>.",[39,1995,1996],{"class":403},"Entity",[39,1998,428],{"class":49},[39,2000,2002],{"class":41,"line":2001},108,[39,2003,1061],{"class":49},[39,2005,2007],{"class":41,"line":2006},109,[39,2008,1692],{"class":49},[39,2010,2012,2014,2016,2018,2020,2022,2024,2026,2028],{"class":41,"line":2011},110,[39,2013,1698],{"class":446},[39,2015,1607],{"class":49},[39,2017,1043],{"class":1042},[39,2019,1988],{"class":49},[39,2021,1023],{"class":53},[39,2023,1993],{"class":49},[39,2025,1996],{"class":403},[39,2027,1713],{"class":45},[39,2029,1716],{"class":49},[39,2031,2033,2035,2037,2039,2041,2043,2045,2047],{"class":41,"line":2032},111,[39,2034,1722],{"class":1042},[39,2036,806],{"class":49},[39,2038,1727],{"class":446},[39,2040,535],{"class":49},[39,2042,64],{"class":63},[39,2044,1734],{"class":67},[39,2046,64],{"class":63},[39,2048,1739],{"class":49},[39,2050,2052,2055,2058,2060,2062,2064,2066,2068,2070,2073],{"class":41,"line":2051},112,[39,2053,2054],{"class":446},"                    if",[39,2056,2057],{"class":49}," ((",[39,2059,1043],{"class":1042},[39,2061,1988],{"class":49},[39,2063,1023],{"class":53},[39,2065,1993],{"class":49},[39,2067,1996],{"class":403},[39,2069,1713],{"class":45},[39,2071,2072],{"class":418}," null",[39,2074,591],{"class":49},[39,2076,2078,2081,2083,2085,2088,2090,2093,2095,2097,2099,2101],{"class":41,"line":2077},113,[39,2079,2080],{"class":45},"                        \u003C%=",[39,2082,1023],{"class":49},[39,2084,697],{"class":45},[39,2086,2087],{"class":49}," temp ",[39,2089,60],{"class":45},[39,2091,2092],{"class":1042}," this",[39,2094,1988],{"class":49},[39,2096,1023],{"class":53},[39,2098,1993],{"class":49},[39,2100,1996],{"class":403},[39,2102,428],{"class":49},[39,2104,2106,2109,2111,2113,2115,2117,2119,2121],{"class":41,"line":2105},114,[39,2107,2108],{"class":1042},"                        this",[39,2110,1988],{"class":49},[39,2112,1023],{"class":53},[39,2114,1993],{"class":49},[39,2116,1996],{"class":403},[39,2118,1755],{"class":45},[39,2120,2072],{"class":418},[39,2122,428],{"class":49},[39,2124,2126,2129,2131,2134,2137,2139,2141,2144,2146,2148],{"class":41,"line":2125},115,[39,2127,2128],{"class":49},"                        temp.",[39,2130,1179],{"class":45},[39,2132,2133],{"class":446},"TableName",[39,2135,2136],{"class":49},"(table)",[39,2138,697],{"class":45},[39,2140,806],{"class":49},[39,2142,2143],{"class":446},"Remove",[39,2145,535],{"class":49},[39,2147,1043],{"class":1042},[39,2149,1739],{"class":49},[39,2151,2153],{"class":41,"line":2152},116,[39,2154,2155],{"class":49},"                    }\n",[39,2157,2159,2161,2163,2165,2167,2169,2171],{"class":41,"line":2158},117,[39,2160,1722],{"class":1042},[39,2162,1988],{"class":49},[39,2164,1023],{"class":53},[39,2166,1993],{"class":49},[39,2168,1996],{"class":403},[39,2170,1755],{"class":45},[39,2172,1758],{"class":49},[39,2174,2176,2178,2181,2184,2186],{"class":41,"line":2175},118,[39,2177,2054],{"class":446},[39,2179,2180],{"class":49}," ((value ",[39,2182,2183],{"class":45},"!=",[39,2185,2072],{"class":418},[39,2187,591],{"class":49},[39,2189,2191,2194,2196,2198,2200,2202,2204,2206,2208,2210],{"class":41,"line":2190},119,[39,2192,2193],{"class":49},"                        value.",[39,2195,1179],{"class":45},[39,2197,2133],{"class":446},[39,2199,2136],{"class":49},[39,2201,697],{"class":45},[39,2203,806],{"class":49},[39,2205,607],{"class":446},[39,2207,535],{"class":49},[39,2209,1043],{"class":1042},[39,2211,1739],{"class":49},[39,2213,2215],{"class":41,"line":2214},120,[39,2216,2155],{"class":49},[39,2218,2220,2222,2224,2226,2228,2230,2232,2234],{"class":41,"line":2219},121,[39,2221,1722],{"class":1042},[39,2223,806],{"class":49},[39,2225,1768],{"class":446},[39,2227,535],{"class":49},[39,2229,64],{"class":63},[39,2231,1734],{"class":67},[39,2233,64],{"class":63},[39,2235,1739],{"class":49},[39,2237,2239],{"class":41,"line":2238},122,[39,2240,1784],{"class":49},[39,2242,2244],{"class":41,"line":2243},123,[39,2245,1061],{"class":49},[39,2247,2249],{"class":41,"line":2248},124,[39,2250,616],{"class":49},[39,2252,2254,2256,2258],{"class":41,"line":2253},125,[39,2255,46],{"class":45},[39,2257,1807],{"class":49},[39,2259,989],{"class":45},[39,2261,2263,2265,2268,2270,2272],{"class":41,"line":2262},126,[39,2264,46],{"class":45},[39,2266,2267],{"class":446},"    if",[39,2269,579],{"class":49},[39,2271,582],{"class":446},[39,2273,2274],{"class":49},"(table)) {\n",[39,2276,2278,2280,2282,2284,2286],{"class":41,"line":2277},127,[39,2279,1227],{"class":446},[39,2281,1819],{"class":49},[39,2283,543],{"class":45},[39,2285,1346],{"class":403},[39,2287,1349],{"class":49},[39,2289,2291,2293,2295,2297,2299,2301,2303,2305],{"class":41,"line":2290},128,[39,2292,1247],{"class":434},[39,2294,978],{"class":49},[39,2296,60],{"class":45},[39,2298,983],{"class":446},[39,2300,585],{"class":49},[39,2302,1366],{"class":403},[39,2304,1261],{"class":49},[39,2306,989],{"class":45},[39,2308,2310,2312,2314,2316,2318,2320,2322,2324,2326,2328,2330,2332,2334,2336,2338,2340],{"class":41,"line":2309},129,[39,2311,794],{"class":49},[39,2313,797],{"class":879},[39,2315,882],{"class":49},[39,2317,882],{"class":45},[39,2319,887],{"class":49},[39,2321,917],{"class":403},[39,2323,806],{"class":49},[39,2325,1006],{"class":403},[39,2327,806],{"class":49},[39,2329,1888],{"class":446},[39,2331,1116],{"class":49},[39,2333,60],{"class":45},[39,2335,64],{"class":63},[39,2337,1897],{"class":67},[39,2339,64],{"class":63},[39,2341,1902],{"class":49},[39,2343,2345,2347,2349,2351,2353,2355,2357,2359,2361,2363,2365],{"class":41,"line":2344},130,[39,2346,1908],{"class":49},[39,2348,60],{"class":45},[39,2350,64],{"class":63},[39,2352,1541],{"class":67},[39,2354,64],{"class":63},[39,2356,1919],{"class":49},[39,2358,60],{"class":45},[39,2360,64],{"class":63},[39,2362,1943],{"class":67},[39,2364,64],{"class":63},[39,2366,1902],{"class":49},[39,2368,2370,2372,2374,2376,2378,2380],{"class":41,"line":2369},131,[39,2371,1936],{"class":49},[39,2373,60],{"class":45},[39,2375,64],{"class":63},[39,2377,1926],{"class":67},[39,2379,64],{"class":63},[39,2381,1128],{"class":49},[39,2383,2385,2388,2390,2392,2394,2396,2398,2400,2402,2404,2406],{"class":41,"line":2384},132,[39,2386,2387],{"class":49},"        public IEnumerable",[39,2389,1012],{"class":45},[39,2391,1397],{"class":446},[39,2393,585],{"class":49},[39,2395,1366],{"class":403},[39,2397,1404],{"class":49},[39,2399,1018],{"class":45},[39,2401,764],{"class":45},[39,2403,1023],{"class":49},[39,2405,697],{"class":45},[39,2407,625],{"class":49},[39,2409,2411],{"class":41,"line":2410},133,[39,2412,1033],{"class":49},[39,2414,2416,2418,2420,2422,2424,2426,2428],{"class":41,"line":2415},134,[39,2417,1039],{"class":49},[39,2419,1043],{"class":1042},[39,2421,1673],{"class":49},[39,2423,1179],{"class":45},[39,2425,1023],{"class":49},[39,2427,697],{"class":45},[39,2429,428],{"class":49},[39,2431,2433],{"class":41,"line":2432},135,[39,2434,1061],{"class":49},[39,2436,2438],{"class":41,"line":2437},136,[39,2439,616],{"class":49},[39,2441,2443],{"class":41,"line":2442},137,[39,2444,871],{"emptyLinePlaceholder":870},[39,2446,2448,2450],{"class":41,"line":2447},138,[39,2449,46],{"class":45},[39,2451,2452],{"class":49},"             }\n",[39,2454,2456,2459],{"class":41,"line":2455},139,[39,2457,2458],{"class":49},"        } ",[39,2460,989],{"class":45},[39,2462,2464,2467,2469,2471,2474,2476,2479],{"class":41,"line":2463},140,[39,2465,2466],{"class":49},"        public event global",[39,2468,800],{"class":45},[39,2470,887],{"class":49},[39,2472,2473],{"class":403},"ComponentModel",[39,2475,806],{"class":49},[39,2477,2478],{"class":403},"PropertyChangedEventHandler",[39,2480,2481],{"class":49}," PropertyChanging;\n",[39,2483,2485,2487,2490,2493,2495,2497,2499,2501,2503,2505],{"class":41,"line":2484},141,[39,2486,823],{"class":45},[39,2488,2489],{"class":434}," event",[39,2491,2492],{"class":53}," global",[39,2494,800],{"class":49},[39,2496,803],{"class":53},[39,2498,806],{"class":49},[39,2500,2473],{"class":53},[39,2502,806],{"class":49},[39,2504,2478],{"class":53},[39,2506,2507],{"class":49}," PropertyChanged;\n",[39,2509,2511],{"class":41,"line":2510},142,[39,2512,871],{"emptyLinePlaceholder":870},[39,2514,2516,2518,2520,2522,2524,2526,2528,2530,2532],{"class":41,"line":2515},143,[39,2517,794],{"class":49},[39,2519,797],{"class":53},[39,2521,800],{"class":49},[39,2523,803],{"class":53},[39,2525,806],{"class":49},[39,2527,809],{"class":53},[39,2529,806],{"class":49},[39,2531,814],{"class":53},[39,2533,817],{"class":49},[39,2535,2537,2540,2543,2546,2548,2550,2553],{"class":41,"line":2536},144,[39,2538,2539],{"class":45},"        protected",[39,2541,2542],{"class":434}," void",[39,2544,2545],{"class":446}," OnPropertyChanging",[39,2547,535],{"class":49},[39,2549,435],{"class":434},[39,2551,2552],{"class":879}," propertyName",[39,2554,570],{"class":49},[39,2556,2558,2560,2562,2564,2566,2569,2571,2573],{"class":41,"line":2557},145,[39,2559,1575],{"class":507},[39,2561,1607],{"class":49},[39,2563,1043],{"class":1042},[39,2565,806],{"class":49},[39,2567,2568],{"class":403},"PropertyChanging",[39,2570,1713],{"class":45},[39,2572,2072],{"class":418},[39,2574,2575],{"class":49},")\n",[39,2577,2579,2582,2584,2586,2588,2590,2592,2595,2597,2599,2601,2603,2605,2607,2610],{"class":41,"line":2578},146,[39,2580,2581],{"class":1042},"                this",[39,2583,806],{"class":49},[39,2585,2568],{"class":446},[39,2587,535],{"class":49},[39,2589,1043],{"class":1042},[39,2591,491],{"class":49},[39,2593,2594],{"class":507},"new",[39,2596,2492],{"class":53},[39,2598,800],{"class":49},[39,2600,803],{"class":53},[39,2602,806],{"class":49},[39,2604,2473],{"class":53},[39,2606,806],{"class":49},[39,2608,2609],{"class":53},"PropertyChangedEventArgs",[39,2611,2612],{"class":49},"(propertyName));\n",[39,2614,2616],{"class":41,"line":2615},147,[39,2617,616],{"class":49},[39,2619,2621],{"class":41,"line":2620},148,[39,2622,871],{"emptyLinePlaceholder":870},[39,2624,2626,2628,2630,2632,2634,2636,2638,2640,2642],{"class":41,"line":2625},149,[39,2627,415],{"class":49},[39,2629,797],{"class":53},[39,2631,800],{"class":49},[39,2633,803],{"class":53},[39,2635,806],{"class":49},[39,2637,809],{"class":53},[39,2639,806],{"class":49},[39,2641,814],{"class":53},[39,2643,817],{"class":49},[39,2645,2647,2649,2651,2654,2656,2658,2660],{"class":41,"line":2646},150,[39,2648,2539],{"class":45},[39,2650,2542],{"class":434},[39,2652,2653],{"class":446}," OnPropertyChanged",[39,2655,535],{"class":49},[39,2657,435],{"class":434},[39,2659,2552],{"class":879},[39,2661,570],{"class":49},[39,2663,2665,2667,2669,2671,2673,2676,2678,2680],{"class":41,"line":2664},151,[39,2666,1575],{"class":507},[39,2668,1607],{"class":49},[39,2670,1043],{"class":1042},[39,2672,806],{"class":49},[39,2674,2675],{"class":403},"PropertyChanged",[39,2677,1713],{"class":45},[39,2679,2072],{"class":418},[39,2681,2575],{"class":49},[39,2683,2685,2687,2689,2691,2693,2695,2697,2699,2701,2703,2705,2707,2709,2711,2713],{"class":41,"line":2684},152,[39,2686,2581],{"class":1042},[39,2688,806],{"class":49},[39,2690,2675],{"class":446},[39,2692,535],{"class":49},[39,2694,1043],{"class":1042},[39,2696,491],{"class":49},[39,2698,2594],{"class":507},[39,2700,2492],{"class":53},[39,2702,800],{"class":49},[39,2704,803],{"class":53},[39,2706,806],{"class":49},[39,2708,2473],{"class":53},[39,2710,806],{"class":49},[39,2712,2609],{"class":53},[39,2714,2612],{"class":49},[39,2716,2718],{"class":41,"line":2717},153,[39,2719,616],{"class":49},[39,2721,2723],{"class":41,"line":2722},154,[39,2724,688],{"class":49},[39,2726,2728,2731],{"class":41,"line":2727},155,[39,2729,2730],{"class":49},"\u003C%     } ",[39,2732,989],{"class":45},[39,2734,2736],{"class":41,"line":2735},156,[39,2737,2738],{"class":49},"}\n",[10,2740,2741],{},[2742,2743,2744],"em",{},"[)amien",[2746,2747,2748],"style",{},"html pre.shiki code .s9HRq, html code.shiki .s9HRq{--shiki-default:#F57D26;--shiki-dark:#FF79C6}html pre.shiki code .s6Vpi, html code.shiki .s6Vpi{--shiki-default:#5C6A72;--shiki-dark:#F8F8F2}html pre.shiki code .snuxY, html code.shiki .snuxY{--shiki-default:#3A94C5;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic}html pre.shiki code .sciFF, html code.shiki .sciFF{--shiki-default:#8DA101;--shiki-dark:#E9F284}html pre.shiki code .sJQOs, html code.shiki .sJQOs{--shiki-default:#8DA101;--shiki-dark:#F1FA8C}html pre.shiki code .sSKRk, html code.shiki .sSKRk{--shiki-default:#35A77C;--shiki-dark:#F8F8F2}html pre.shiki code .s3Ipq, html code.shiki .s3Ipq{--shiki-default:#DF69BA;--shiki-dark:#BD93F9}html pre.shiki code .sXAHl, html code.shiki .sXAHl{--shiki-default:#3A94C5;--shiki-dark:#FF79C6}html pre.shiki code .sS4Kt, html code.shiki .sS4Kt{--shiki-default:#8DA101;--shiki-dark:#50FA7B}html pre.shiki code .smiwp, html code.shiki .smiwp{--shiki-default:#F85552;--shiki-dark:#FF79C6}html pre.shiki code .sSX4p, html code.shiki .sSX4p{--shiki-default:#939F91;--shiki-default-font-style:italic;--shiki-dark:#6272A4;--shiki-dark-font-style:inherit}html pre.shiki code .s6f1k, html code.shiki .s6f1k{--shiki-default:#35A77C;--shiki-dark:#FF79C6}html pre.shiki code .sjYfO, html code.shiki .sjYfO{--shiki-default:#DF69BA;--shiki-default-font-style:inherit;--shiki-dark:#8BE9FD;--shiki-dark-font-style:italic}html pre.shiki code .stJs5, html code.shiki .stJs5{--shiki-default:#5C6A72;--shiki-default-font-style:inherit;--shiki-dark:#BD93F9;--shiki-dark-font-style:italic}html pre.shiki code .s7cAX, html code.shiki .s7cAX{--shiki-default:#5C6A72;--shiki-default-font-style:inherit;--shiki-dark:#FFB86C;--shiki-dark-font-style:italic}html pre.shiki code .sKO3f, html code.shiki .sKO3f{--shiki-default:#DF69BA;--shiki-default-font-style:inherit;--shiki-dark:#BD93F9;--shiki-dark-font-style:italic}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":34,"searchDepth":109,"depth":109,"links":2750},[],"Development","2007-06-26T09:10:18+00:00","[object Object]","md",null,false,{},"\u002Fblog\u002F2007\u002Fcodesmith-template-to-generate-linq-to-sql-data-context",{"title":5,"description":12},"blog\u002F2007\u002Fcodesmith-template-to-generate-linq-to-sql-data-context",[2762,2763,2764],".NET","CodeSmith","LINQ","\u002Fblog\u002F2007\u002Fcodesmith-template-to-generate-linq-to-sql-data-context\u002F",1300,"ZtrCEK7M_VMpd3U4PXH737TJwqocjA8EBk19KN_fJn0",[2769,2773,2777],{"title":2770,"date":2771,"url":2772},"Transactions in the MongoDB EF Core Provider","2025-10-25","\u002Fblog\u002F2025\u002Fmongodb-explicit-transactions\u002F",{"title":2774,"date":2775,"url":2776},"Queryable Encryption with the MongoDB EF Core Provider","2025-09-22","\u002Fblog\u002F2025\u002Fmongodb-queryable-encryption\u002F",{"title":2778,"date":2779,"url":2780},"Lazy Loading with EF Core Proxies","2025-04-02","\u002Fblog\u002F2025\u002Fef-proxies\u002F",[],1780900531726]