New tests.
[mono.git] / mcs / class / System.Data.Linq / tests / expected / Northwind.Sqlite+DbSchemaLoader-DbMetal.cs
1 // \r
2 //  ____  _     __  __      _        _ \r
3 // |  _ \| |__ |  \/  | ___| |_ __ _| |\r
4 // | | | | '_ \| |\/| |/ _ \ __/ _` | |\r
5 // | |_| | |_) | |  | |  __/ || (_| | |\r
6 // |____/|_.__/|_|  |_|\___|\__\__,_|_|\r
7 //\r
8 // Auto-generated from Northwind on [TIMESTAMP].\r
9 // Please visit http://code.google.com/p/dblinq2007/ for more information.\r
10 //\r
11 namespace nwind\r
12 {\r
13         using System;\r
14         using System.ComponentModel;\r
15         using System.Data;\r
16 #if MONO_STRICT\r
17         using System.Data.Linq;\r
18 #else   // MONO_STRICT\r
19         using DbLinq.Data.Linq;\r
20         using DbLinq.Vendor;\r
21 #endif  // MONO_STRICT\r
22         using System.Data.Linq.Mapping;\r
23         using System.Diagnostics;\r
24         \r
25         \r
26         public partial class Northwind : DataContext\r
27         {\r
28                 \r
29                 #region Extensibility Method Declarations\r
30                 partial void OnCreated();\r
31                 #endregion\r
32                 \r
33                 \r
34                 public Northwind(string connectionString) : \r
35                                 base(connectionString)\r
36                 {\r
37                         this.OnCreated();\r
38                 }\r
39                 \r
40                 public Northwind(string connection, MappingSource mappingSource) : \r
41                                 base(connection, mappingSource)\r
42                 {\r
43                         this.OnCreated();\r
44                 }\r
45                 \r
46                 public Northwind(IDbConnection connection, MappingSource mappingSource) : \r
47                                 base(connection, mappingSource)\r
48                 {\r
49                         this.OnCreated();\r
50                 }\r
51                 \r
52                 public Table<Category> Categories\r
53                 {\r
54                         get\r
55                         {\r
56                                 return this.GetTable<Category>();\r
57                         }\r
58                 }\r
59                 \r
60                 public Table<Customer> Customers\r
61                 {\r
62                         get\r
63                         {\r
64                                 return this.GetTable<Customer>();\r
65                         }\r
66                 }\r
67                 \r
68                 public Table<CustomerCustomerDemo> CustomerCustomerDemo\r
69                 {\r
70                         get\r
71                         {\r
72                                 return this.GetTable<CustomerCustomerDemo>();\r
73                         }\r
74                 }\r
75                 \r
76                 public Table<CustomerDemographic> CustomerDemographics\r
77                 {\r
78                         get\r
79                         {\r
80                                 return this.GetTable<CustomerDemographic>();\r
81                         }\r
82                 }\r
83                 \r
84                 public Table<Employee> Employees\r
85                 {\r
86                         get\r
87                         {\r
88                                 return this.GetTable<Employee>();\r
89                         }\r
90                 }\r
91                 \r
92                 public Table<EmployeeTerritory> EmployeeTerritories\r
93                 {\r
94                         get\r
95                         {\r
96                                 return this.GetTable<EmployeeTerritory>();\r
97                         }\r
98                 }\r
99                 \r
100                 public Table<Order> Orders\r
101                 {\r
102                         get\r
103                         {\r
104                                 return this.GetTable<Order>();\r
105                         }\r
106                 }\r
107                 \r
108                 public Table<OrderDetail> OrderDetails\r
109                 {\r
110                         get\r
111                         {\r
112                                 return this.GetTable<OrderDetail>();\r
113                         }\r
114                 }\r
115                 \r
116                 public Table<Product> Products\r
117                 {\r
118                         get\r
119                         {\r
120                                 return this.GetTable<Product>();\r
121                         }\r
122                 }\r
123                 \r
124                 public Table<Region> Regions\r
125                 {\r
126                         get\r
127                         {\r
128                                 return this.GetTable<Region>();\r
129                         }\r
130                 }\r
131                 \r
132                 public Table<Shipper> Shippers\r
133                 {\r
134                         get\r
135                         {\r
136                                 return this.GetTable<Shipper>();\r
137                         }\r
138                 }\r
139                 \r
140                 public Table<Supplier> Suppliers\r
141                 {\r
142                         get\r
143                         {\r
144                                 return this.GetTable<Supplier>();\r
145                         }\r
146                 }\r
147                 \r
148                 public Table<Territory> Territories\r
149                 {\r
150                         get\r
151                         {\r
152                                 return this.GetTable<Territory>();\r
153                         }\r
154                 }\r
155         }\r
156         \r
157         #region Start MONO_STRICT\r
158 #if MONO_STRICT\r
159 \r
160         public partial class Northwind\r
161         {\r
162                 \r
163                 public Northwind(IDbConnection connection) : \r
164                                 base(connection)\r
165                 {\r
166                         this.OnCreated();\r
167                 }\r
168         }\r
169         #region End MONO_STRICT\r
170         #endregion\r
171 #else     // MONO_STRICT\r
172         \r
173         public partial class Northwind\r
174         {\r
175                 \r
176                 public Northwind(IDbConnection connection) : \r
177                                 base(connection, new DbLinq.Sqlite.SqliteVendor())\r
178                 {\r
179                         this.OnCreated();\r
180                 }\r
181                 \r
182                 public Northwind(IDbConnection connection, IVendor sqlDialect) : \r
183                                 base(connection, sqlDialect)\r
184                 {\r
185                         this.OnCreated();\r
186                 }\r
187                 \r
188                 public Northwind(IDbConnection connection, MappingSource mappingSource, IVendor sqlDialect) : \r
189                                 base(connection, mappingSource, sqlDialect)\r
190                 {\r
191                         this.OnCreated();\r
192                 }\r
193         }\r
194         #region End Not MONO_STRICT\r
195         #endregion\r
196 #endif     // MONO_STRICT\r
197         #endregion\r
198         \r
199         [Table(Name="Categories")]\r
200         public partial class Category : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Category>\r
201         {\r
202                 \r
203                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
204                 \r
205                 private long _categoryID;\r
206                 \r
207                 private string _categoryName;\r
208                 \r
209                 private string _description;\r
210                 \r
211                 private byte[] _picture;\r
212                 \r
213                 private EntitySet<Product> _products;\r
214                 \r
215                 #region Extensibility Method Declarations\r
216                 partial void OnCreated();\r
217                 \r
218                 partial void OnCategoryIDChanged();\r
219                 \r
220                 partial void OnCategoryIDChanging(long value);\r
221                 \r
222                 partial void OnCategoryNameChanged();\r
223                 \r
224                 partial void OnCategoryNameChanging(string value);\r
225                 \r
226                 partial void OnDescriptionChanged();\r
227                 \r
228                 partial void OnDescriptionChanging(string value);\r
229                 \r
230                 partial void OnPictureChanged();\r
231                 \r
232                 partial void OnPictureChanging(byte[] value);\r
233                 #endregion\r
234                 \r
235                 \r
236                 public Category()\r
237                 {\r
238                         _products = new EntitySet<Product>(new Action<Product>(this.Products_Attach), new Action<Product>(this.Products_Detach));\r
239                         this.OnCreated();\r
240                 }\r
241                 \r
242                 [Column(Storage="_categoryID", Name="CategoryID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
243                 [DebuggerNonUserCode()]\r
244                 public long CategoryID\r
245                 {\r
246                         get\r
247                         {\r
248                                 return this._categoryID;\r
249                         }\r
250                         set\r
251                         {\r
252                                 if ((_categoryID != value))\r
253                                 {\r
254                                         this.OnCategoryIDChanging(value);\r
255                                         this.SendPropertyChanging();\r
256                                         this._categoryID = value;\r
257                                         this.SendPropertyChanged("CategoryID");\r
258                                         this.OnCategoryIDChanged();\r
259                                 }\r
260                         }\r
261                 }\r
262                 \r
263                 [Column(Storage="_categoryName", Name="CategoryName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
264                 [DebuggerNonUserCode()]\r
265                 public string CategoryName\r
266                 {\r
267                         get\r
268                         {\r
269                                 return this._categoryName;\r
270                         }\r
271                         set\r
272                         {\r
273                                 if (((_categoryName == value) \r
274                                                         == false))\r
275                                 {\r
276                                         this.OnCategoryNameChanging(value);\r
277                                         this.SendPropertyChanging();\r
278                                         this._categoryName = value;\r
279                                         this.SendPropertyChanged("CategoryName");\r
280                                         this.OnCategoryNameChanged();\r
281                                 }\r
282                         }\r
283                 }\r
284                 \r
285                 [Column(Storage="_description", Name="Description", DbType="ntext", AutoSync=AutoSync.Never)]\r
286                 [DebuggerNonUserCode()]\r
287                 public string Description\r
288                 {\r
289                         get\r
290                         {\r
291                                 return this._description;\r
292                         }\r
293                         set\r
294                         {\r
295                                 if (((_description == value) \r
296                                                         == false))\r
297                                 {\r
298                                         this.OnDescriptionChanging(value);\r
299                                         this.SendPropertyChanging();\r
300                                         this._description = value;\r
301                                         this.SendPropertyChanged("Description");\r
302                                         this.OnDescriptionChanged();\r
303                                 }\r
304                         }\r
305                 }\r
306                 \r
307                 [Column(Storage="_picture", Name="Picture", DbType="image", AutoSync=AutoSync.Never)]\r
308                 [DebuggerNonUserCode()]\r
309                 public byte[] Picture\r
310                 {\r
311                         get\r
312                         {\r
313                                 return this._picture;\r
314                         }\r
315                         set\r
316                         {\r
317                                 if (((_picture == value) \r
318                                                         == false))\r
319                                 {\r
320                                         this.OnPictureChanging(value);\r
321                                         this.SendPropertyChanging();\r
322                                         this._picture = value;\r
323                                         this.SendPropertyChanged("Picture");\r
324                                         this.OnPictureChanged();\r
325                                 }\r
326                         }\r
327                 }\r
328                 \r
329                 #region Children\r
330                 [Association(Storage="_products", OtherKey="CategoryID", ThisKey="CategoryID", Name="FK_Products_1")]\r
331                 [DebuggerNonUserCode()]\r
332                 public EntitySet<Product> Products\r
333                 {\r
334                         get\r
335                         {\r
336                                 return this._products;\r
337                         }\r
338                         set\r
339                         {\r
340                                 this._products = value;\r
341                         }\r
342                 }\r
343                 #endregion\r
344                 \r
345                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
346                 \r
347                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
348                 \r
349                 protected virtual void SendPropertyChanging()\r
350                 {\r
351                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
352                         if ((h != null))\r
353                         {\r
354                                 h(this, emptyChangingEventArgs);\r
355                         }\r
356                 }\r
357                 \r
358                 protected virtual void SendPropertyChanged(string propertyName)\r
359                 {\r
360                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
361                         if ((h != null))\r
362                         {\r
363                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
364                         }\r
365                 }\r
366                 \r
367                 public override int GetHashCode()\r
368                 {\r
369                         int hc = 0;\r
370                         hc = (hc \r
371                                                 | (_categoryID.GetHashCode() * 1));\r
372                         return hc;\r
373                 }\r
374                 \r
375                 public override bool Equals(object value)\r
376                 {\r
377                         if ((value == null))\r
378                         {\r
379                                 return false;\r
380                         }\r
381                         if (((value.GetType() == this.GetType()) \r
382                                                 == false))\r
383                         {\r
384                                 return false;\r
385                         }\r
386                         Category other = ((Category)(value));\r
387                         return this.Equals(other);\r
388                 }\r
389                 \r
390                 public virtual bool Equals(Category value)\r
391                 {\r
392                         if ((value == null))\r
393                         {\r
394                                 return false;\r
395                         }\r
396                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._categoryID, value._categoryID);\r
397                 }\r
398                 \r
399                 #region Attachment handlers\r
400                 private void Products_Attach(Product entity)\r
401                 {\r
402                         this.SendPropertyChanging();\r
403                         entity.Category = this;\r
404                 }\r
405                 \r
406                 private void Products_Detach(Product entity)\r
407                 {\r
408                         this.SendPropertyChanging();\r
409                         entity.Category = null;\r
410                 }\r
411                 #endregion\r
412         }\r
413         \r
414         [Table(Name="Customers")]\r
415         public partial class Customer : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Customer>\r
416         {\r
417                 \r
418                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
419                 \r
420                 private string _address;\r
421                 \r
422                 private string _city;\r
423                 \r
424                 private string _companyName;\r
425                 \r
426                 private string _contactName;\r
427                 \r
428                 private string _contactTitle;\r
429                 \r
430                 private string _country;\r
431                 \r
432                 private string _customerID;\r
433                 \r
434                 private string _fax;\r
435                 \r
436                 private string _phone;\r
437                 \r
438                 private string _postalCode;\r
439                 \r
440                 private string _region;\r
441                 \r
442                 private EntitySet<Order> _orders;\r
443                 \r
444                 private EntitySet<CustomerCustomerDemo> _customerCustomerDemo;\r
445                 \r
446                 #region Extensibility Method Declarations\r
447                 partial void OnCreated();\r
448                 \r
449                 partial void OnAddressChanged();\r
450                 \r
451                 partial void OnAddressChanging(string value);\r
452                 \r
453                 partial void OnCityChanged();\r
454                 \r
455                 partial void OnCityChanging(string value);\r
456                 \r
457                 partial void OnCompanyNameChanged();\r
458                 \r
459                 partial void OnCompanyNameChanging(string value);\r
460                 \r
461                 partial void OnContactNameChanged();\r
462                 \r
463                 partial void OnContactNameChanging(string value);\r
464                 \r
465                 partial void OnContactTitleChanged();\r
466                 \r
467                 partial void OnContactTitleChanging(string value);\r
468                 \r
469                 partial void OnCountryChanged();\r
470                 \r
471                 partial void OnCountryChanging(string value);\r
472                 \r
473                 partial void OnCustomerIDChanged();\r
474                 \r
475                 partial void OnCustomerIDChanging(string value);\r
476                 \r
477                 partial void OnFaxChanged();\r
478                 \r
479                 partial void OnFaxChanging(string value);\r
480                 \r
481                 partial void OnPhoneChanged();\r
482                 \r
483                 partial void OnPhoneChanging(string value);\r
484                 \r
485                 partial void OnPostalCodeChanged();\r
486                 \r
487                 partial void OnPostalCodeChanging(string value);\r
488                 \r
489                 partial void OnRegionChanged();\r
490                 \r
491                 partial void OnRegionChanging(string value);\r
492                 #endregion\r
493                 \r
494                 \r
495                 public Customer()\r
496                 {\r
497                         _orders = new EntitySet<Order>(new Action<Order>(this.Orders_Attach), new Action<Order>(this.Orders_Detach));\r
498                         _customerCustomerDemo = new EntitySet<CustomerCustomerDemo>(new Action<CustomerCustomerDemo>(this.CustomerCustomerDemo_Attach), new Action<CustomerCustomerDemo>(this.CustomerCustomerDemo_Detach));\r
499                         this.OnCreated();\r
500                 }\r
501                 \r
502                 [Column(Storage="_address", Name="Address", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
503                 [DebuggerNonUserCode()]\r
504                 public string Address\r
505                 {\r
506                         get\r
507                         {\r
508                                 return this._address;\r
509                         }\r
510                         set\r
511                         {\r
512                                 if (((_address == value) \r
513                                                         == false))\r
514                                 {\r
515                                         this.OnAddressChanging(value);\r
516                                         this.SendPropertyChanging();\r
517                                         this._address = value;\r
518                                         this.SendPropertyChanged("Address");\r
519                                         this.OnAddressChanged();\r
520                                 }\r
521                         }\r
522                 }\r
523                 \r
524                 [Column(Storage="_city", Name="City", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
525                 [DebuggerNonUserCode()]\r
526                 public string City\r
527                 {\r
528                         get\r
529                         {\r
530                                 return this._city;\r
531                         }\r
532                         set\r
533                         {\r
534                                 if (((_city == value) \r
535                                                         == false))\r
536                                 {\r
537                                         this.OnCityChanging(value);\r
538                                         this.SendPropertyChanging();\r
539                                         this._city = value;\r
540                                         this.SendPropertyChanged("City");\r
541                                         this.OnCityChanged();\r
542                                 }\r
543                         }\r
544                 }\r
545                 \r
546                 [Column(Storage="_companyName", Name="CompanyName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
547                 [DebuggerNonUserCode()]\r
548                 public string CompanyName\r
549                 {\r
550                         get\r
551                         {\r
552                                 return this._companyName;\r
553                         }\r
554                         set\r
555                         {\r
556                                 if (((_companyName == value) \r
557                                                         == false))\r
558                                 {\r
559                                         this.OnCompanyNameChanging(value);\r
560                                         this.SendPropertyChanging();\r
561                                         this._companyName = value;\r
562                                         this.SendPropertyChanged("CompanyName");\r
563                                         this.OnCompanyNameChanged();\r
564                                 }\r
565                         }\r
566                 }\r
567                 \r
568                 [Column(Storage="_contactName", Name="ContactName", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
569                 [DebuggerNonUserCode()]\r
570                 public string ContactName\r
571                 {\r
572                         get\r
573                         {\r
574                                 return this._contactName;\r
575                         }\r
576                         set\r
577                         {\r
578                                 if (((_contactName == value) \r
579                                                         == false))\r
580                                 {\r
581                                         this.OnContactNameChanging(value);\r
582                                         this.SendPropertyChanging();\r
583                                         this._contactName = value;\r
584                                         this.SendPropertyChanged("ContactName");\r
585                                         this.OnContactNameChanged();\r
586                                 }\r
587                         }\r
588                 }\r
589                 \r
590                 [Column(Storage="_contactTitle", Name="ContactTitle", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
591                 [DebuggerNonUserCode()]\r
592                 public string ContactTitle\r
593                 {\r
594                         get\r
595                         {\r
596                                 return this._contactTitle;\r
597                         }\r
598                         set\r
599                         {\r
600                                 if (((_contactTitle == value) \r
601                                                         == false))\r
602                                 {\r
603                                         this.OnContactTitleChanging(value);\r
604                                         this.SendPropertyChanging();\r
605                                         this._contactTitle = value;\r
606                                         this.SendPropertyChanged("ContactTitle");\r
607                                         this.OnContactTitleChanged();\r
608                                 }\r
609                         }\r
610                 }\r
611                 \r
612                 [Column(Storage="_country", Name="Country", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
613                 [DebuggerNonUserCode()]\r
614                 public string Country\r
615                 {\r
616                         get\r
617                         {\r
618                                 return this._country;\r
619                         }\r
620                         set\r
621                         {\r
622                                 if (((_country == value) \r
623                                                         == false))\r
624                                 {\r
625                                         this.OnCountryChanging(value);\r
626                                         this.SendPropertyChanging();\r
627                                         this._country = value;\r
628                                         this.SendPropertyChanged("Country");\r
629                                         this.OnCountryChanged();\r
630                                 }\r
631                         }\r
632                 }\r
633                 \r
634                 [Column(Storage="_customerID", Name="CustomerID", DbType="nchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
635                 [DebuggerNonUserCode()]\r
636                 public string CustomerID\r
637                 {\r
638                         get\r
639                         {\r
640                                 return this._customerID;\r
641                         }\r
642                         set\r
643                         {\r
644                                 if (((_customerID == value) \r
645                                                         == false))\r
646                                 {\r
647                                         this.OnCustomerIDChanging(value);\r
648                                         this.SendPropertyChanging();\r
649                                         this._customerID = value;\r
650                                         this.SendPropertyChanged("CustomerID");\r
651                                         this.OnCustomerIDChanged();\r
652                                 }\r
653                         }\r
654                 }\r
655                 \r
656                 [Column(Storage="_fax", Name="Fax", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
657                 [DebuggerNonUserCode()]\r
658                 public string Fax\r
659                 {\r
660                         get\r
661                         {\r
662                                 return this._fax;\r
663                         }\r
664                         set\r
665                         {\r
666                                 if (((_fax == value) \r
667                                                         == false))\r
668                                 {\r
669                                         this.OnFaxChanging(value);\r
670                                         this.SendPropertyChanging();\r
671                                         this._fax = value;\r
672                                         this.SendPropertyChanged("Fax");\r
673                                         this.OnFaxChanged();\r
674                                 }\r
675                         }\r
676                 }\r
677                 \r
678                 [Column(Storage="_phone", Name="Phone", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
679                 [DebuggerNonUserCode()]\r
680                 public string Phone\r
681                 {\r
682                         get\r
683                         {\r
684                                 return this._phone;\r
685                         }\r
686                         set\r
687                         {\r
688                                 if (((_phone == value) \r
689                                                         == false))\r
690                                 {\r
691                                         this.OnPhoneChanging(value);\r
692                                         this.SendPropertyChanging();\r
693                                         this._phone = value;\r
694                                         this.SendPropertyChanged("Phone");\r
695                                         this.OnPhoneChanged();\r
696                                 }\r
697                         }\r
698                 }\r
699                 \r
700                 [Column(Storage="_postalCode", Name="PostalCode", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
701                 [DebuggerNonUserCode()]\r
702                 public string PostalCode\r
703                 {\r
704                         get\r
705                         {\r
706                                 return this._postalCode;\r
707                         }\r
708                         set\r
709                         {\r
710                                 if (((_postalCode == value) \r
711                                                         == false))\r
712                                 {\r
713                                         this.OnPostalCodeChanging(value);\r
714                                         this.SendPropertyChanging();\r
715                                         this._postalCode = value;\r
716                                         this.SendPropertyChanged("PostalCode");\r
717                                         this.OnPostalCodeChanged();\r
718                                 }\r
719                         }\r
720                 }\r
721                 \r
722                 [Column(Storage="_region", Name="Region", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
723                 [DebuggerNonUserCode()]\r
724                 public string Region\r
725                 {\r
726                         get\r
727                         {\r
728                                 return this._region;\r
729                         }\r
730                         set\r
731                         {\r
732                                 if (((_region == value) \r
733                                                         == false))\r
734                                 {\r
735                                         this.OnRegionChanging(value);\r
736                                         this.SendPropertyChanging();\r
737                                         this._region = value;\r
738                                         this.SendPropertyChanged("Region");\r
739                                         this.OnRegionChanged();\r
740                                 }\r
741                         }\r
742                 }\r
743                 \r
744                 #region Children\r
745                 [Association(Storage="_orders", OtherKey="CustomerID", ThisKey="CustomerID", Name="FK_Orders_2")]\r
746                 [DebuggerNonUserCode()]\r
747                 public EntitySet<Order> Orders\r
748                 {\r
749                         get\r
750                         {\r
751                                 return this._orders;\r
752                         }\r
753                         set\r
754                         {\r
755                                 this._orders = value;\r
756                         }\r
757                 }\r
758                 \r
759                 [Association(Storage="_customerCustomerDemo", OtherKey="CustomerID", ThisKey="CustomerID", Name="FK_CustomerCustomerDemo_0")]\r
760                 [DebuggerNonUserCode()]\r
761                 public EntitySet<CustomerCustomerDemo> CustomerCustomerDemo\r
762                 {\r
763                         get\r
764                         {\r
765                                 return this._customerCustomerDemo;\r
766                         }\r
767                         set\r
768                         {\r
769                                 this._customerCustomerDemo = value;\r
770                         }\r
771                 }\r
772                 #endregion\r
773                 \r
774                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
775                 \r
776                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
777                 \r
778                 protected virtual void SendPropertyChanging()\r
779                 {\r
780                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
781                         if ((h != null))\r
782                         {\r
783                                 h(this, emptyChangingEventArgs);\r
784                         }\r
785                 }\r
786                 \r
787                 protected virtual void SendPropertyChanged(string propertyName)\r
788                 {\r
789                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
790                         if ((h != null))\r
791                         {\r
792                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
793                         }\r
794                 }\r
795                 \r
796                 public override int GetHashCode()\r
797                 {\r
798                         int hc = 0;\r
799                         if ((_customerID != null))\r
800                         {\r
801                                 hc = (hc \r
802                                                         | (_customerID.GetHashCode() * 1));\r
803                         }\r
804                         return hc;\r
805                 }\r
806                 \r
807                 public override bool Equals(object value)\r
808                 {\r
809                         if ((value == null))\r
810                         {\r
811                                 return false;\r
812                         }\r
813                         if (((value.GetType() == this.GetType()) \r
814                                                 == false))\r
815                         {\r
816                                 return false;\r
817                         }\r
818                         Customer other = ((Customer)(value));\r
819                         return this.Equals(other);\r
820                 }\r
821                 \r
822                 public virtual bool Equals(Customer value)\r
823                 {\r
824                         if ((value == null))\r
825                         {\r
826                                 return false;\r
827                         }\r
828                         return System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._customerID, value._customerID);\r
829                 }\r
830                 \r
831                 #region Attachment handlers\r
832                 private void Orders_Attach(Order entity)\r
833                 {\r
834                         this.SendPropertyChanging();\r
835                         entity.Customer = this;\r
836                 }\r
837                 \r
838                 private void Orders_Detach(Order entity)\r
839                 {\r
840                         this.SendPropertyChanging();\r
841                         entity.Customer = null;\r
842                 }\r
843                 \r
844                 private void CustomerCustomerDemo_Attach(CustomerCustomerDemo entity)\r
845                 {\r
846                         this.SendPropertyChanging();\r
847                         entity.Customer = this;\r
848                 }\r
849                 \r
850                 private void CustomerCustomerDemo_Detach(CustomerCustomerDemo entity)\r
851                 {\r
852                         this.SendPropertyChanging();\r
853                         entity.Customer = null;\r
854                 }\r
855                 #endregion\r
856         }\r
857         \r
858         [Table(Name="CustomerCustomerDemo")]\r
859         public partial class CustomerCustomerDemo : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<CustomerCustomerDemo>\r
860         {\r
861                 \r
862                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
863                 \r
864                 private string _customerID;\r
865                 \r
866                 private string _customerTypeID;\r
867                 \r
868                 private EntityRef<Customer> _customer = new EntityRef<Customer>();\r
869                 \r
870                 private EntityRef<CustomerDemographic> _customerDemographic = new EntityRef<CustomerDemographic>();\r
871                 \r
872                 #region Extensibility Method Declarations\r
873                 partial void OnCreated();\r
874                 \r
875                 partial void OnCustomerIDChanged();\r
876                 \r
877                 partial void OnCustomerIDChanging(string value);\r
878                 \r
879                 partial void OnCustomerTypeIDChanged();\r
880                 \r
881                 partial void OnCustomerTypeIDChanging(string value);\r
882                 #endregion\r
883                 \r
884                 \r
885                 public CustomerCustomerDemo()\r
886                 {\r
887                         this.OnCreated();\r
888                 }\r
889                 \r
890                 [Column(Storage="_customerID", Name="CustomerID", DbType="nchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
891                 [DebuggerNonUserCode()]\r
892                 public string CustomerID\r
893                 {\r
894                         get\r
895                         {\r
896                                 return this._customerID;\r
897                         }\r
898                         set\r
899                         {\r
900                                 if (((_customerID == value) \r
901                                                         == false))\r
902                                 {\r
903                                         if (_customer.HasLoadedOrAssignedValue)\r
904                                         {\r
905                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
906                                         }\r
907                                         this.OnCustomerIDChanging(value);\r
908                                         this.SendPropertyChanging();\r
909                                         this._customerID = value;\r
910                                         this.SendPropertyChanged("CustomerID");\r
911                                         this.OnCustomerIDChanged();\r
912                                 }\r
913                         }\r
914                 }\r
915                 \r
916                 [Column(Storage="_customerTypeID", Name="CustomerTypeID", DbType="nchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
917                 [DebuggerNonUserCode()]\r
918                 public string CustomerTypeID\r
919                 {\r
920                         get\r
921                         {\r
922                                 return this._customerTypeID;\r
923                         }\r
924                         set\r
925                         {\r
926                                 if (((_customerTypeID == value) \r
927                                                         == false))\r
928                                 {\r
929                                         if (_customerDemographic.HasLoadedOrAssignedValue)\r
930                                         {\r
931                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
932                                         }\r
933                                         this.OnCustomerTypeIDChanging(value);\r
934                                         this.SendPropertyChanging();\r
935                                         this._customerTypeID = value;\r
936                                         this.SendPropertyChanged("CustomerTypeID");\r
937                                         this.OnCustomerTypeIDChanged();\r
938                                 }\r
939                         }\r
940                 }\r
941                 \r
942                 #region Parents\r
943                 [Association(Storage="_customer", OtherKey="CustomerID", ThisKey="CustomerID", Name="FK_CustomerCustomerDemo_0", IsForeignKey=true)]\r
944                 [DebuggerNonUserCode()]\r
945                 public Customer Customer\r
946                 {\r
947                         get\r
948                         {\r
949                                 return this._customer.Entity;\r
950                         }\r
951                         set\r
952                         {\r
953                                 if (((this._customer.Entity == value) \r
954                                                         == false))\r
955                                 {\r
956                                         if ((this._customer.Entity != null))\r
957                                         {\r
958                                                 Customer previousCustomer = this._customer.Entity;\r
959                                                 this._customer.Entity = null;\r
960                                                 previousCustomer.CustomerCustomerDemo.Remove(this);\r
961                                         }\r
962                                         this._customer.Entity = value;\r
963                                         if ((value != null))\r
964                                         {\r
965                                                 value.CustomerCustomerDemo.Add(this);\r
966                                                 _customerID = value.CustomerID;\r
967                                         }\r
968                                         else\r
969                                         {\r
970                                                 _customerID = default(string);\r
971                                         }\r
972                                 }\r
973                         }\r
974                 }\r
975                 \r
976                 [Association(Storage="_customerDemographic", OtherKey="CustomerTypeID", ThisKey="CustomerTypeID", Name="FK_CustomerCustomerDemo_1", IsForeignKey=true)]\r
977                 [DebuggerNonUserCode()]\r
978                 public CustomerDemographic CustomerDemographic\r
979                 {\r
980                         get\r
981                         {\r
982                                 return this._customerDemographic.Entity;\r
983                         }\r
984                         set\r
985                         {\r
986                                 if (((this._customerDemographic.Entity == value) \r
987                                                         == false))\r
988                                 {\r
989                                         if ((this._customerDemographic.Entity != null))\r
990                                         {\r
991                                                 CustomerDemographic previousCustomerDemographic = this._customerDemographic.Entity;\r
992                                                 this._customerDemographic.Entity = null;\r
993                                                 previousCustomerDemographic.CustomerCustomerDemo.Remove(this);\r
994                                         }\r
995                                         this._customerDemographic.Entity = value;\r
996                                         if ((value != null))\r
997                                         {\r
998                                                 value.CustomerCustomerDemo.Add(this);\r
999                                                 _customerTypeID = value.CustomerTypeID;\r
1000                                         }\r
1001                                         else\r
1002                                         {\r
1003                                                 _customerTypeID = default(string);\r
1004                                         }\r
1005                                 }\r
1006                         }\r
1007                 }\r
1008                 #endregion\r
1009                 \r
1010                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
1011                 \r
1012                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
1013                 \r
1014                 protected virtual void SendPropertyChanging()\r
1015                 {\r
1016                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
1017                         if ((h != null))\r
1018                         {\r
1019                                 h(this, emptyChangingEventArgs);\r
1020                         }\r
1021                 }\r
1022                 \r
1023                 protected virtual void SendPropertyChanged(string propertyName)\r
1024                 {\r
1025                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
1026                         if ((h != null))\r
1027                         {\r
1028                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
1029                         }\r
1030                 }\r
1031                 \r
1032                 public override int GetHashCode()\r
1033                 {\r
1034                         int hc = 0;\r
1035                         if ((_customerID != null))\r
1036                         {\r
1037                                 hc = (hc \r
1038                                                         | (_customerID.GetHashCode() * 1));\r
1039                         }\r
1040                         if ((_customerTypeID != null))\r
1041                         {\r
1042                                 hc = (hc \r
1043                                                         | (_customerTypeID.GetHashCode() * 65536));\r
1044                         }\r
1045                         return hc;\r
1046                 }\r
1047                 \r
1048                 public override bool Equals(object value)\r
1049                 {\r
1050                         if ((value == null))\r
1051                         {\r
1052                                 return false;\r
1053                         }\r
1054                         if (((value.GetType() == this.GetType()) \r
1055                                                 == false))\r
1056                         {\r
1057                                 return false;\r
1058                         }\r
1059                         CustomerCustomerDemo other = ((CustomerCustomerDemo)(value));\r
1060                         return this.Equals(other);\r
1061                 }\r
1062                 \r
1063                 public virtual bool Equals(CustomerCustomerDemo value)\r
1064                 {\r
1065                         if ((value == null))\r
1066                         {\r
1067                                 return false;\r
1068                         }\r
1069                         return (System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._customerID, value._customerID) && System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._customerTypeID, value._customerTypeID));\r
1070                 }\r
1071         }\r
1072         \r
1073         [Table(Name="CustomerDemographics")]\r
1074         public partial class CustomerDemographic : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<CustomerDemographic>\r
1075         {\r
1076                 \r
1077                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
1078                 \r
1079                 private string _customerDesc;\r
1080                 \r
1081                 private string _customerTypeID;\r
1082                 \r
1083                 private EntitySet<CustomerCustomerDemo> _customerCustomerDemo;\r
1084                 \r
1085                 #region Extensibility Method Declarations\r
1086                 partial void OnCreated();\r
1087                 \r
1088                 partial void OnCustomerDescChanged();\r
1089                 \r
1090                 partial void OnCustomerDescChanging(string value);\r
1091                 \r
1092                 partial void OnCustomerTypeIDChanged();\r
1093                 \r
1094                 partial void OnCustomerTypeIDChanging(string value);\r
1095                 #endregion\r
1096                 \r
1097                 \r
1098                 public CustomerDemographic()\r
1099                 {\r
1100                         _customerCustomerDemo = new EntitySet<CustomerCustomerDemo>(new Action<CustomerCustomerDemo>(this.CustomerCustomerDemo_Attach), new Action<CustomerCustomerDemo>(this.CustomerCustomerDemo_Detach));\r
1101                         this.OnCreated();\r
1102                 }\r
1103                 \r
1104                 [Column(Storage="_customerDesc", Name="CustomerDesc", DbType="ntext", AutoSync=AutoSync.Never)]\r
1105                 [DebuggerNonUserCode()]\r
1106                 public string CustomerDesc\r
1107                 {\r
1108                         get\r
1109                         {\r
1110                                 return this._customerDesc;\r
1111                         }\r
1112                         set\r
1113                         {\r
1114                                 if (((_customerDesc == value) \r
1115                                                         == false))\r
1116                                 {\r
1117                                         this.OnCustomerDescChanging(value);\r
1118                                         this.SendPropertyChanging();\r
1119                                         this._customerDesc = value;\r
1120                                         this.SendPropertyChanged("CustomerDesc");\r
1121                                         this.OnCustomerDescChanged();\r
1122                                 }\r
1123                         }\r
1124                 }\r
1125                 \r
1126                 [Column(Storage="_customerTypeID", Name="CustomerTypeID", DbType="nchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
1127                 [DebuggerNonUserCode()]\r
1128                 public string CustomerTypeID\r
1129                 {\r
1130                         get\r
1131                         {\r
1132                                 return this._customerTypeID;\r
1133                         }\r
1134                         set\r
1135                         {\r
1136                                 if (((_customerTypeID == value) \r
1137                                                         == false))\r
1138                                 {\r
1139                                         this.OnCustomerTypeIDChanging(value);\r
1140                                         this.SendPropertyChanging();\r
1141                                         this._customerTypeID = value;\r
1142                                         this.SendPropertyChanged("CustomerTypeID");\r
1143                                         this.OnCustomerTypeIDChanged();\r
1144                                 }\r
1145                         }\r
1146                 }\r
1147                 \r
1148                 #region Children\r
1149                 [Association(Storage="_customerCustomerDemo", OtherKey="CustomerTypeID", ThisKey="CustomerTypeID", Name="FK_CustomerCustomerDemo_1")]\r
1150                 [DebuggerNonUserCode()]\r
1151                 public EntitySet<CustomerCustomerDemo> CustomerCustomerDemo\r
1152                 {\r
1153                         get\r
1154                         {\r
1155                                 return this._customerCustomerDemo;\r
1156                         }\r
1157                         set\r
1158                         {\r
1159                                 this._customerCustomerDemo = value;\r
1160                         }\r
1161                 }\r
1162                 #endregion\r
1163                 \r
1164                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
1165                 \r
1166                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
1167                 \r
1168                 protected virtual void SendPropertyChanging()\r
1169                 {\r
1170                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
1171                         if ((h != null))\r
1172                         {\r
1173                                 h(this, emptyChangingEventArgs);\r
1174                         }\r
1175                 }\r
1176                 \r
1177                 protected virtual void SendPropertyChanged(string propertyName)\r
1178                 {\r
1179                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
1180                         if ((h != null))\r
1181                         {\r
1182                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
1183                         }\r
1184                 }\r
1185                 \r
1186                 public override int GetHashCode()\r
1187                 {\r
1188                         int hc = 0;\r
1189                         if ((_customerTypeID != null))\r
1190                         {\r
1191                                 hc = (hc \r
1192                                                         | (_customerTypeID.GetHashCode() * 1));\r
1193                         }\r
1194                         return hc;\r
1195                 }\r
1196                 \r
1197                 public override bool Equals(object value)\r
1198                 {\r
1199                         if ((value == null))\r
1200                         {\r
1201                                 return false;\r
1202                         }\r
1203                         if (((value.GetType() == this.GetType()) \r
1204                                                 == false))\r
1205                         {\r
1206                                 return false;\r
1207                         }\r
1208                         CustomerDemographic other = ((CustomerDemographic)(value));\r
1209                         return this.Equals(other);\r
1210                 }\r
1211                 \r
1212                 public virtual bool Equals(CustomerDemographic value)\r
1213                 {\r
1214                         if ((value == null))\r
1215                         {\r
1216                                 return false;\r
1217                         }\r
1218                         return System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._customerTypeID, value._customerTypeID);\r
1219                 }\r
1220                 \r
1221                 #region Attachment handlers\r
1222                 private void CustomerCustomerDemo_Attach(CustomerCustomerDemo entity)\r
1223                 {\r
1224                         this.SendPropertyChanging();\r
1225                         entity.CustomerDemographic = this;\r
1226                 }\r
1227                 \r
1228                 private void CustomerCustomerDemo_Detach(CustomerCustomerDemo entity)\r
1229                 {\r
1230                         this.SendPropertyChanging();\r
1231                         entity.CustomerDemographic = null;\r
1232                 }\r
1233                 #endregion\r
1234         }\r
1235         \r
1236         [Table(Name="Employees")]\r
1237         public partial class Employee : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Employee>\r
1238         {\r
1239                 \r
1240                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
1241                 \r
1242                 private string _address;\r
1243                 \r
1244                 private System.Nullable<System.DateTime> _birthDate;\r
1245                 \r
1246                 private string _city;\r
1247                 \r
1248                 private string _country;\r
1249                 \r
1250                 private long _employeeID;\r
1251                 \r
1252                 private string _extension;\r
1253                 \r
1254                 private string _firstName;\r
1255                 \r
1256                 private System.Nullable<System.DateTime> _hireDate;\r
1257                 \r
1258                 private string _homePhone;\r
1259                 \r
1260                 private string _lastName;\r
1261                 \r
1262                 private string _notes;\r
1263                 \r
1264                 private byte[] _photo;\r
1265                 \r
1266                 private string _photoPath;\r
1267                 \r
1268                 private string _postalCode;\r
1269                 \r
1270                 private string _region;\r
1271                 \r
1272                 private System.Nullable<long> _reportsTo;\r
1273                 \r
1274                 private string _title;\r
1275                 \r
1276                 private string _titleOfCourtesy;\r
1277                 \r
1278                 private EntitySet<Employee> _employees;\r
1279                 \r
1280                 private EntitySet<Order> _orders;\r
1281                 \r
1282                 private EntitySet<EmployeeTerritory> _employeeTerritories;\r
1283                 \r
1284                 private EntityRef<Employee> _reportsToEmployee = new EntityRef<Employee>();\r
1285                 \r
1286                 #region Extensibility Method Declarations\r
1287                 partial void OnCreated();\r
1288                 \r
1289                 partial void OnAddressChanged();\r
1290                 \r
1291                 partial void OnAddressChanging(string value);\r
1292                 \r
1293                 partial void OnBirthDateChanged();\r
1294                 \r
1295                 partial void OnBirthDateChanging(System.Nullable<System.DateTime> value);\r
1296                 \r
1297                 partial void OnCityChanged();\r
1298                 \r
1299                 partial void OnCityChanging(string value);\r
1300                 \r
1301                 partial void OnCountryChanged();\r
1302                 \r
1303                 partial void OnCountryChanging(string value);\r
1304                 \r
1305                 partial void OnEmployeeIDChanged();\r
1306                 \r
1307                 partial void OnEmployeeIDChanging(long value);\r
1308                 \r
1309                 partial void OnExtensionChanged();\r
1310                 \r
1311                 partial void OnExtensionChanging(string value);\r
1312                 \r
1313                 partial void OnFirstNameChanged();\r
1314                 \r
1315                 partial void OnFirstNameChanging(string value);\r
1316                 \r
1317                 partial void OnHireDateChanged();\r
1318                 \r
1319                 partial void OnHireDateChanging(System.Nullable<System.DateTime> value);\r
1320                 \r
1321                 partial void OnHomePhoneChanged();\r
1322                 \r
1323                 partial void OnHomePhoneChanging(string value);\r
1324                 \r
1325                 partial void OnLastNameChanged();\r
1326                 \r
1327                 partial void OnLastNameChanging(string value);\r
1328                 \r
1329                 partial void OnNotesChanged();\r
1330                 \r
1331                 partial void OnNotesChanging(string value);\r
1332                 \r
1333                 partial void OnPhotoChanged();\r
1334                 \r
1335                 partial void OnPhotoChanging(byte[] value);\r
1336                 \r
1337                 partial void OnPhotoPathChanged();\r
1338                 \r
1339                 partial void OnPhotoPathChanging(string value);\r
1340                 \r
1341                 partial void OnPostalCodeChanged();\r
1342                 \r
1343                 partial void OnPostalCodeChanging(string value);\r
1344                 \r
1345                 partial void OnRegionChanged();\r
1346                 \r
1347                 partial void OnRegionChanging(string value);\r
1348                 \r
1349                 partial void OnReportsToChanged();\r
1350                 \r
1351                 partial void OnReportsToChanging(System.Nullable<long> value);\r
1352                 \r
1353                 partial void OnTitleChanged();\r
1354                 \r
1355                 partial void OnTitleChanging(string value);\r
1356                 \r
1357                 partial void OnTitleOfCourtesyChanged();\r
1358                 \r
1359                 partial void OnTitleOfCourtesyChanging(string value);\r
1360                 #endregion\r
1361                 \r
1362                 \r
1363                 public Employee()\r
1364                 {\r
1365                         _employees = new EntitySet<Employee>(new Action<Employee>(this.Employees_Attach), new Action<Employee>(this.Employees_Detach));\r
1366                         _orders = new EntitySet<Order>(new Action<Order>(this.Orders_Attach), new Action<Order>(this.Orders_Detach));\r
1367                         _employeeTerritories = new EntitySet<EmployeeTerritory>(new Action<EmployeeTerritory>(this.EmployeeTerritories_Attach), new Action<EmployeeTerritory>(this.EmployeeTerritories_Detach));\r
1368                         this.OnCreated();\r
1369                 }\r
1370                 \r
1371                 [Column(Storage="_address", Name="Address", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1372                 [DebuggerNonUserCode()]\r
1373                 public string Address\r
1374                 {\r
1375                         get\r
1376                         {\r
1377                                 return this._address;\r
1378                         }\r
1379                         set\r
1380                         {\r
1381                                 if (((_address == value) \r
1382                                                         == false))\r
1383                                 {\r
1384                                         this.OnAddressChanging(value);\r
1385                                         this.SendPropertyChanging();\r
1386                                         this._address = value;\r
1387                                         this.SendPropertyChanged("Address");\r
1388                                         this.OnAddressChanged();\r
1389                                 }\r
1390                         }\r
1391                 }\r
1392                 \r
1393                 [Column(Storage="_birthDate", Name="BirthDate", DbType="datetime", AutoSync=AutoSync.Never)]\r
1394                 [DebuggerNonUserCode()]\r
1395                 public System.Nullable<System.DateTime> BirthDate\r
1396                 {\r
1397                         get\r
1398                         {\r
1399                                 return this._birthDate;\r
1400                         }\r
1401                         set\r
1402                         {\r
1403                                 if ((_birthDate != value))\r
1404                                 {\r
1405                                         this.OnBirthDateChanging(value);\r
1406                                         this.SendPropertyChanging();\r
1407                                         this._birthDate = value;\r
1408                                         this.SendPropertyChanged("BirthDate");\r
1409                                         this.OnBirthDateChanged();\r
1410                                 }\r
1411                         }\r
1412                 }\r
1413                 \r
1414                 [Column(Storage="_city", Name="City", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1415                 [DebuggerNonUserCode()]\r
1416                 public string City\r
1417                 {\r
1418                         get\r
1419                         {\r
1420                                 return this._city;\r
1421                         }\r
1422                         set\r
1423                         {\r
1424                                 if (((_city == value) \r
1425                                                         == false))\r
1426                                 {\r
1427                                         this.OnCityChanging(value);\r
1428                                         this.SendPropertyChanging();\r
1429                                         this._city = value;\r
1430                                         this.SendPropertyChanged("City");\r
1431                                         this.OnCityChanged();\r
1432                                 }\r
1433                         }\r
1434                 }\r
1435                 \r
1436                 [Column(Storage="_country", Name="Country", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1437                 [DebuggerNonUserCode()]\r
1438                 public string Country\r
1439                 {\r
1440                         get\r
1441                         {\r
1442                                 return this._country;\r
1443                         }\r
1444                         set\r
1445                         {\r
1446                                 if (((_country == value) \r
1447                                                         == false))\r
1448                                 {\r
1449                                         this.OnCountryChanging(value);\r
1450                                         this.SendPropertyChanging();\r
1451                                         this._country = value;\r
1452                                         this.SendPropertyChanged("Country");\r
1453                                         this.OnCountryChanged();\r
1454                                 }\r
1455                         }\r
1456                 }\r
1457                 \r
1458                 [Column(Storage="_employeeID", Name="EmployeeID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
1459                 [DebuggerNonUserCode()]\r
1460                 public long EmployeeID\r
1461                 {\r
1462                         get\r
1463                         {\r
1464                                 return this._employeeID;\r
1465                         }\r
1466                         set\r
1467                         {\r
1468                                 if ((_employeeID != value))\r
1469                                 {\r
1470                                         this.OnEmployeeIDChanging(value);\r
1471                                         this.SendPropertyChanging();\r
1472                                         this._employeeID = value;\r
1473                                         this.SendPropertyChanged("EmployeeID");\r
1474                                         this.OnEmployeeIDChanged();\r
1475                                 }\r
1476                         }\r
1477                 }\r
1478                 \r
1479                 [Column(Storage="_extension", Name="Extension", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1480                 [DebuggerNonUserCode()]\r
1481                 public string Extension\r
1482                 {\r
1483                         get\r
1484                         {\r
1485                                 return this._extension;\r
1486                         }\r
1487                         set\r
1488                         {\r
1489                                 if (((_extension == value) \r
1490                                                         == false))\r
1491                                 {\r
1492                                         this.OnExtensionChanging(value);\r
1493                                         this.SendPropertyChanging();\r
1494                                         this._extension = value;\r
1495                                         this.SendPropertyChanged("Extension");\r
1496                                         this.OnExtensionChanged();\r
1497                                 }\r
1498                         }\r
1499                 }\r
1500                 \r
1501                 [Column(Storage="_firstName", Name="FirstName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
1502                 [DebuggerNonUserCode()]\r
1503                 public string FirstName\r
1504                 {\r
1505                         get\r
1506                         {\r
1507                                 return this._firstName;\r
1508                         }\r
1509                         set\r
1510                         {\r
1511                                 if (((_firstName == value) \r
1512                                                         == false))\r
1513                                 {\r
1514                                         this.OnFirstNameChanging(value);\r
1515                                         this.SendPropertyChanging();\r
1516                                         this._firstName = value;\r
1517                                         this.SendPropertyChanged("FirstName");\r
1518                                         this.OnFirstNameChanged();\r
1519                                 }\r
1520                         }\r
1521                 }\r
1522                 \r
1523                 [Column(Storage="_hireDate", Name="HireDate", DbType="datetime", AutoSync=AutoSync.Never)]\r
1524                 [DebuggerNonUserCode()]\r
1525                 public System.Nullable<System.DateTime> HireDate\r
1526                 {\r
1527                         get\r
1528                         {\r
1529                                 return this._hireDate;\r
1530                         }\r
1531                         set\r
1532                         {\r
1533                                 if ((_hireDate != value))\r
1534                                 {\r
1535                                         this.OnHireDateChanging(value);\r
1536                                         this.SendPropertyChanging();\r
1537                                         this._hireDate = value;\r
1538                                         this.SendPropertyChanged("HireDate");\r
1539                                         this.OnHireDateChanged();\r
1540                                 }\r
1541                         }\r
1542                 }\r
1543                 \r
1544                 [Column(Storage="_homePhone", Name="HomePhone", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1545                 [DebuggerNonUserCode()]\r
1546                 public string HomePhone\r
1547                 {\r
1548                         get\r
1549                         {\r
1550                                 return this._homePhone;\r
1551                         }\r
1552                         set\r
1553                         {\r
1554                                 if (((_homePhone == value) \r
1555                                                         == false))\r
1556                                 {\r
1557                                         this.OnHomePhoneChanging(value);\r
1558                                         this.SendPropertyChanging();\r
1559                                         this._homePhone = value;\r
1560                                         this.SendPropertyChanged("HomePhone");\r
1561                                         this.OnHomePhoneChanged();\r
1562                                 }\r
1563                         }\r
1564                 }\r
1565                 \r
1566                 [Column(Storage="_lastName", Name="LastName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
1567                 [DebuggerNonUserCode()]\r
1568                 public string LastName\r
1569                 {\r
1570                         get\r
1571                         {\r
1572                                 return this._lastName;\r
1573                         }\r
1574                         set\r
1575                         {\r
1576                                 if (((_lastName == value) \r
1577                                                         == false))\r
1578                                 {\r
1579                                         this.OnLastNameChanging(value);\r
1580                                         this.SendPropertyChanging();\r
1581                                         this._lastName = value;\r
1582                                         this.SendPropertyChanged("LastName");\r
1583                                         this.OnLastNameChanged();\r
1584                                 }\r
1585                         }\r
1586                 }\r
1587                 \r
1588                 [Column(Storage="_notes", Name="Notes", DbType="ntext", AutoSync=AutoSync.Never)]\r
1589                 [DebuggerNonUserCode()]\r
1590                 public string Notes\r
1591                 {\r
1592                         get\r
1593                         {\r
1594                                 return this._notes;\r
1595                         }\r
1596                         set\r
1597                         {\r
1598                                 if (((_notes == value) \r
1599                                                         == false))\r
1600                                 {\r
1601                                         this.OnNotesChanging(value);\r
1602                                         this.SendPropertyChanging();\r
1603                                         this._notes = value;\r
1604                                         this.SendPropertyChanged("Notes");\r
1605                                         this.OnNotesChanged();\r
1606                                 }\r
1607                         }\r
1608                 }\r
1609                 \r
1610                 [Column(Storage="_photo", Name="Photo", DbType="image", AutoSync=AutoSync.Never)]\r
1611                 [DebuggerNonUserCode()]\r
1612                 public byte[] Photo\r
1613                 {\r
1614                         get\r
1615                         {\r
1616                                 return this._photo;\r
1617                         }\r
1618                         set\r
1619                         {\r
1620                                 if (((_photo == value) \r
1621                                                         == false))\r
1622                                 {\r
1623                                         this.OnPhotoChanging(value);\r
1624                                         this.SendPropertyChanging();\r
1625                                         this._photo = value;\r
1626                                         this.SendPropertyChanged("Photo");\r
1627                                         this.OnPhotoChanged();\r
1628                                 }\r
1629                         }\r
1630                 }\r
1631                 \r
1632                 [Column(Storage="_photoPath", Name="PhotoPath", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1633                 [DebuggerNonUserCode()]\r
1634                 public string PhotoPath\r
1635                 {\r
1636                         get\r
1637                         {\r
1638                                 return this._photoPath;\r
1639                         }\r
1640                         set\r
1641                         {\r
1642                                 if (((_photoPath == value) \r
1643                                                         == false))\r
1644                                 {\r
1645                                         this.OnPhotoPathChanging(value);\r
1646                                         this.SendPropertyChanging();\r
1647                                         this._photoPath = value;\r
1648                                         this.SendPropertyChanged("PhotoPath");\r
1649                                         this.OnPhotoPathChanged();\r
1650                                 }\r
1651                         }\r
1652                 }\r
1653                 \r
1654                 [Column(Storage="_postalCode", Name="PostalCode", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1655                 [DebuggerNonUserCode()]\r
1656                 public string PostalCode\r
1657                 {\r
1658                         get\r
1659                         {\r
1660                                 return this._postalCode;\r
1661                         }\r
1662                         set\r
1663                         {\r
1664                                 if (((_postalCode == value) \r
1665                                                         == false))\r
1666                                 {\r
1667                                         this.OnPostalCodeChanging(value);\r
1668                                         this.SendPropertyChanging();\r
1669                                         this._postalCode = value;\r
1670                                         this.SendPropertyChanged("PostalCode");\r
1671                                         this.OnPostalCodeChanged();\r
1672                                 }\r
1673                         }\r
1674                 }\r
1675                 \r
1676                 [Column(Storage="_region", Name="Region", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1677                 [DebuggerNonUserCode()]\r
1678                 public string Region\r
1679                 {\r
1680                         get\r
1681                         {\r
1682                                 return this._region;\r
1683                         }\r
1684                         set\r
1685                         {\r
1686                                 if (((_region == value) \r
1687                                                         == false))\r
1688                                 {\r
1689                                         this.OnRegionChanging(value);\r
1690                                         this.SendPropertyChanging();\r
1691                                         this._region = value;\r
1692                                         this.SendPropertyChanged("Region");\r
1693                                         this.OnRegionChanged();\r
1694                                 }\r
1695                         }\r
1696                 }\r
1697                 \r
1698                 [Column(Storage="_reportsTo", Name="ReportsTo", DbType="integer", AutoSync=AutoSync.Never)]\r
1699                 [DebuggerNonUserCode()]\r
1700                 public System.Nullable<long> ReportsTo\r
1701                 {\r
1702                         get\r
1703                         {\r
1704                                 return this._reportsTo;\r
1705                         }\r
1706                         set\r
1707                         {\r
1708                                 if ((_reportsTo != value))\r
1709                                 {\r
1710                                         if (_reportsToEmployee.HasLoadedOrAssignedValue)\r
1711                                         {\r
1712                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
1713                                         }\r
1714                                         this.OnReportsToChanging(value);\r
1715                                         this.SendPropertyChanging();\r
1716                                         this._reportsTo = value;\r
1717                                         this.SendPropertyChanged("ReportsTo");\r
1718                                         this.OnReportsToChanged();\r
1719                                 }\r
1720                         }\r
1721                 }\r
1722                 \r
1723                 [Column(Storage="_title", Name="Title", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1724                 [DebuggerNonUserCode()]\r
1725                 public string Title\r
1726                 {\r
1727                         get\r
1728                         {\r
1729                                 return this._title;\r
1730                         }\r
1731                         set\r
1732                         {\r
1733                                 if (((_title == value) \r
1734                                                         == false))\r
1735                                 {\r
1736                                         this.OnTitleChanging(value);\r
1737                                         this.SendPropertyChanging();\r
1738                                         this._title = value;\r
1739                                         this.SendPropertyChanged("Title");\r
1740                                         this.OnTitleChanged();\r
1741                                 }\r
1742                         }\r
1743                 }\r
1744                 \r
1745                 [Column(Storage="_titleOfCourtesy", Name="TitleOfCourtesy", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
1746                 [DebuggerNonUserCode()]\r
1747                 public string TitleOfCourtesy\r
1748                 {\r
1749                         get\r
1750                         {\r
1751                                 return this._titleOfCourtesy;\r
1752                         }\r
1753                         set\r
1754                         {\r
1755                                 if (((_titleOfCourtesy == value) \r
1756                                                         == false))\r
1757                                 {\r
1758                                         this.OnTitleOfCourtesyChanging(value);\r
1759                                         this.SendPropertyChanging();\r
1760                                         this._titleOfCourtesy = value;\r
1761                                         this.SendPropertyChanged("TitleOfCourtesy");\r
1762                                         this.OnTitleOfCourtesyChanged();\r
1763                                 }\r
1764                         }\r
1765                 }\r
1766                 \r
1767                 #region Children\r
1768                 [Association(Storage="_employees", OtherKey="ReportsTo", ThisKey="EmployeeID", Name="FK_Employees_0")]\r
1769                 [DebuggerNonUserCode()]\r
1770                 public EntitySet<Employee> Employees\r
1771                 {\r
1772                         get\r
1773                         {\r
1774                                 return this._employees;\r
1775                         }\r
1776                         set\r
1777                         {\r
1778                                 this._employees = value;\r
1779                         }\r
1780                 }\r
1781                 \r
1782                 [Association(Storage="_orders", OtherKey="EmployeeID", ThisKey="EmployeeID", Name="FK_Orders_1")]\r
1783                 [DebuggerNonUserCode()]\r
1784                 public EntitySet<Order> Orders\r
1785                 {\r
1786                         get\r
1787                         {\r
1788                                 return this._orders;\r
1789                         }\r
1790                         set\r
1791                         {\r
1792                                 this._orders = value;\r
1793                         }\r
1794                 }\r
1795                 \r
1796                 [Association(Storage="_employeeTerritories", OtherKey="EmployeeID", ThisKey="EmployeeID", Name="FK_EmployeeTerritories_1")]\r
1797                 [DebuggerNonUserCode()]\r
1798                 public EntitySet<EmployeeTerritory> EmployeeTerritories\r
1799                 {\r
1800                         get\r
1801                         {\r
1802                                 return this._employeeTerritories;\r
1803                         }\r
1804                         set\r
1805                         {\r
1806                                 this._employeeTerritories = value;\r
1807                         }\r
1808                 }\r
1809                 #endregion\r
1810                 \r
1811                 #region Parents\r
1812                 [Association(Storage="_reportsToEmployee", OtherKey="EmployeeID", ThisKey="ReportsTo", Name="FK_Employees_0", IsForeignKey=true)]\r
1813                 [DebuggerNonUserCode()]\r
1814                 public Employee ReportsToEmployee\r
1815                 {\r
1816                         get\r
1817                         {\r
1818                                 return this._reportsToEmployee.Entity;\r
1819                         }\r
1820                         set\r
1821                         {\r
1822                                 if (((this._reportsToEmployee.Entity == value) \r
1823                                                         == false))\r
1824                                 {\r
1825                                         if ((this._reportsToEmployee.Entity != null))\r
1826                                         {\r
1827                                                 Employee previousEmployee = this._reportsToEmployee.Entity;\r
1828                                                 this._reportsToEmployee.Entity = null;\r
1829                                                 previousEmployee.Employees.Remove(this);\r
1830                                         }\r
1831                                         this._reportsToEmployee.Entity = value;\r
1832                                         if ((value != null))\r
1833                                         {\r
1834                                                 value.Employees.Add(this);\r
1835                                                 _reportsTo = value.EmployeeID;\r
1836                                         }\r
1837                                         else\r
1838                                         {\r
1839                                                 _reportsTo = null;\r
1840                                         }\r
1841                                 }\r
1842                         }\r
1843                 }\r
1844                 #endregion\r
1845                 \r
1846                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
1847                 \r
1848                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
1849                 \r
1850                 protected virtual void SendPropertyChanging()\r
1851                 {\r
1852                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
1853                         if ((h != null))\r
1854                         {\r
1855                                 h(this, emptyChangingEventArgs);\r
1856                         }\r
1857                 }\r
1858                 \r
1859                 protected virtual void SendPropertyChanged(string propertyName)\r
1860                 {\r
1861                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
1862                         if ((h != null))\r
1863                         {\r
1864                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
1865                         }\r
1866                 }\r
1867                 \r
1868                 public override int GetHashCode()\r
1869                 {\r
1870                         int hc = 0;\r
1871                         hc = (hc \r
1872                                                 | (_employeeID.GetHashCode() * 1));\r
1873                         return hc;\r
1874                 }\r
1875                 \r
1876                 public override bool Equals(object value)\r
1877                 {\r
1878                         if ((value == null))\r
1879                         {\r
1880                                 return false;\r
1881                         }\r
1882                         if (((value.GetType() == this.GetType()) \r
1883                                                 == false))\r
1884                         {\r
1885                                 return false;\r
1886                         }\r
1887                         Employee other = ((Employee)(value));\r
1888                         return this.Equals(other);\r
1889                 }\r
1890                 \r
1891                 public virtual bool Equals(Employee value)\r
1892                 {\r
1893                         if ((value == null))\r
1894                         {\r
1895                                 return false;\r
1896                         }\r
1897                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._employeeID, value._employeeID);\r
1898                 }\r
1899                 \r
1900                 #region Attachment handlers\r
1901                 private void Employees_Attach(Employee entity)\r
1902                 {\r
1903                         this.SendPropertyChanging();\r
1904                         entity.ReportsToEmployee = this;\r
1905                 }\r
1906                 \r
1907                 private void Employees_Detach(Employee entity)\r
1908                 {\r
1909                         this.SendPropertyChanging();\r
1910                         entity.ReportsToEmployee = null;\r
1911                 }\r
1912                 \r
1913                 private void Orders_Attach(Order entity)\r
1914                 {\r
1915                         this.SendPropertyChanging();\r
1916                         entity.Employee = this;\r
1917                 }\r
1918                 \r
1919                 private void Orders_Detach(Order entity)\r
1920                 {\r
1921                         this.SendPropertyChanging();\r
1922                         entity.Employee = null;\r
1923                 }\r
1924                 \r
1925                 private void EmployeeTerritories_Attach(EmployeeTerritory entity)\r
1926                 {\r
1927                         this.SendPropertyChanging();\r
1928                         entity.Employee = this;\r
1929                 }\r
1930                 \r
1931                 private void EmployeeTerritories_Detach(EmployeeTerritory entity)\r
1932                 {\r
1933                         this.SendPropertyChanging();\r
1934                         entity.Employee = null;\r
1935                 }\r
1936                 #endregion\r
1937         }\r
1938         \r
1939         [Table(Name="EmployeeTerritories")]\r
1940         public partial class EmployeeTerritory : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<EmployeeTerritory>\r
1941         {\r
1942                 \r
1943                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
1944                 \r
1945                 private long _employeeID;\r
1946                 \r
1947                 private string _territoryID;\r
1948                 \r
1949                 private EntityRef<Territory> _territory = new EntityRef<Territory>();\r
1950                 \r
1951                 private EntityRef<Employee> _employee = new EntityRef<Employee>();\r
1952                 \r
1953                 #region Extensibility Method Declarations\r
1954                 partial void OnCreated();\r
1955                 \r
1956                 partial void OnEmployeeIDChanged();\r
1957                 \r
1958                 partial void OnEmployeeIDChanging(long value);\r
1959                 \r
1960                 partial void OnTerritoryIDChanged();\r
1961                 \r
1962                 partial void OnTerritoryIDChanging(string value);\r
1963                 #endregion\r
1964                 \r
1965                 \r
1966                 public EmployeeTerritory()\r
1967                 {\r
1968                         this.OnCreated();\r
1969                 }\r
1970                 \r
1971                 [Column(Storage="_employeeID", Name="EmployeeID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
1972                 [DebuggerNonUserCode()]\r
1973                 public long EmployeeID\r
1974                 {\r
1975                         get\r
1976                         {\r
1977                                 return this._employeeID;\r
1978                         }\r
1979                         set\r
1980                         {\r
1981                                 if ((_employeeID != value))\r
1982                                 {\r
1983                                         if (_employee.HasLoadedOrAssignedValue)\r
1984                                         {\r
1985                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
1986                                         }\r
1987                                         this.OnEmployeeIDChanging(value);\r
1988                                         this.SendPropertyChanging();\r
1989                                         this._employeeID = value;\r
1990                                         this.SendPropertyChanged("EmployeeID");\r
1991                                         this.OnEmployeeIDChanged();\r
1992                                 }\r
1993                         }\r
1994                 }\r
1995                 \r
1996                 [Column(Storage="_territoryID", Name="TerritoryID", DbType="nvarchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
1997                 [DebuggerNonUserCode()]\r
1998                 public string TerritoryID\r
1999                 {\r
2000                         get\r
2001                         {\r
2002                                 return this._territoryID;\r
2003                         }\r
2004                         set\r
2005                         {\r
2006                                 if (((_territoryID == value) \r
2007                                                         == false))\r
2008                                 {\r
2009                                         if (_territory.HasLoadedOrAssignedValue)\r
2010                                         {\r
2011                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2012                                         }\r
2013                                         this.OnTerritoryIDChanging(value);\r
2014                                         this.SendPropertyChanging();\r
2015                                         this._territoryID = value;\r
2016                                         this.SendPropertyChanged("TerritoryID");\r
2017                                         this.OnTerritoryIDChanged();\r
2018                                 }\r
2019                         }\r
2020                 }\r
2021                 \r
2022                 #region Parents\r
2023                 [Association(Storage="_territory", OtherKey="TerritoryID", ThisKey="TerritoryID", Name="FK_EmployeeTerritories_0", IsForeignKey=true)]\r
2024                 [DebuggerNonUserCode()]\r
2025                 public Territory Territory\r
2026                 {\r
2027                         get\r
2028                         {\r
2029                                 return this._territory.Entity;\r
2030                         }\r
2031                         set\r
2032                         {\r
2033                                 if (((this._territory.Entity == value) \r
2034                                                         == false))\r
2035                                 {\r
2036                                         if ((this._territory.Entity != null))\r
2037                                         {\r
2038                                                 Territory previousTerritory = this._territory.Entity;\r
2039                                                 this._territory.Entity = null;\r
2040                                                 previousTerritory.EmployeeTerritories.Remove(this);\r
2041                                         }\r
2042                                         this._territory.Entity = value;\r
2043                                         if ((value != null))\r
2044                                         {\r
2045                                                 value.EmployeeTerritories.Add(this);\r
2046                                                 _territoryID = value.TerritoryID;\r
2047                                         }\r
2048                                         else\r
2049                                         {\r
2050                                                 _territoryID = default(string);\r
2051                                         }\r
2052                                 }\r
2053                         }\r
2054                 }\r
2055                 \r
2056                 [Association(Storage="_employee", OtherKey="EmployeeID", ThisKey="EmployeeID", Name="FK_EmployeeTerritories_1", IsForeignKey=true)]\r
2057                 [DebuggerNonUserCode()]\r
2058                 public Employee Employee\r
2059                 {\r
2060                         get\r
2061                         {\r
2062                                 return this._employee.Entity;\r
2063                         }\r
2064                         set\r
2065                         {\r
2066                                 if (((this._employee.Entity == value) \r
2067                                                         == false))\r
2068                                 {\r
2069                                         if ((this._employee.Entity != null))\r
2070                                         {\r
2071                                                 Employee previousEmployee = this._employee.Entity;\r
2072                                                 this._employee.Entity = null;\r
2073                                                 previousEmployee.EmployeeTerritories.Remove(this);\r
2074                                         }\r
2075                                         this._employee.Entity = value;\r
2076                                         if ((value != null))\r
2077                                         {\r
2078                                                 value.EmployeeTerritories.Add(this);\r
2079                                                 _employeeID = value.EmployeeID;\r
2080                                         }\r
2081                                         else\r
2082                                         {\r
2083                                                 _employeeID = default(long);\r
2084                                         }\r
2085                                 }\r
2086                         }\r
2087                 }\r
2088                 #endregion\r
2089                 \r
2090                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
2091                 \r
2092                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
2093                 \r
2094                 protected virtual void SendPropertyChanging()\r
2095                 {\r
2096                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
2097                         if ((h != null))\r
2098                         {\r
2099                                 h(this, emptyChangingEventArgs);\r
2100                         }\r
2101                 }\r
2102                 \r
2103                 protected virtual void SendPropertyChanged(string propertyName)\r
2104                 {\r
2105                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
2106                         if ((h != null))\r
2107                         {\r
2108                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
2109                         }\r
2110                 }\r
2111                 \r
2112                 public override int GetHashCode()\r
2113                 {\r
2114                         int hc = 0;\r
2115                         hc = (hc \r
2116                                                 | (_employeeID.GetHashCode() * 1));\r
2117                         if ((_territoryID != null))\r
2118                         {\r
2119                                 hc = (hc \r
2120                                                         | (_territoryID.GetHashCode() * 65536));\r
2121                         }\r
2122                         return hc;\r
2123                 }\r
2124                 \r
2125                 public override bool Equals(object value)\r
2126                 {\r
2127                         if ((value == null))\r
2128                         {\r
2129                                 return false;\r
2130                         }\r
2131                         if (((value.GetType() == this.GetType()) \r
2132                                                 == false))\r
2133                         {\r
2134                                 return false;\r
2135                         }\r
2136                         EmployeeTerritory other = ((EmployeeTerritory)(value));\r
2137                         return this.Equals(other);\r
2138                 }\r
2139                 \r
2140                 public virtual bool Equals(EmployeeTerritory value)\r
2141                 {\r
2142                         if ((value == null))\r
2143                         {\r
2144                                 return false;\r
2145                         }\r
2146                         return (System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._employeeID, value._employeeID) && System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._territoryID, value._territoryID));\r
2147                 }\r
2148         }\r
2149         \r
2150         [Table(Name="Orders")]\r
2151         public partial class Order : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Order>\r
2152         {\r
2153                 \r
2154                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
2155                 \r
2156                 private string _customerID;\r
2157                 \r
2158                 private System.Nullable<long> _employeeID;\r
2159                 \r
2160                 private System.Nullable<decimal> _freight;\r
2161                 \r
2162                 private System.Nullable<System.DateTime> _orderDate;\r
2163                 \r
2164                 private long _orderID;\r
2165                 \r
2166                 private System.Nullable<System.DateTime> _requiredDate;\r
2167                 \r
2168                 private string _shipAddress;\r
2169                 \r
2170                 private string _shipCity;\r
2171                 \r
2172                 private string _shipCountry;\r
2173                 \r
2174                 private string _shipName;\r
2175                 \r
2176                 private System.Nullable<System.DateTime> _shippedDate;\r
2177                 \r
2178                 private string _shipPostalCode;\r
2179                 \r
2180                 private string _shipRegion;\r
2181                 \r
2182                 private System.Nullable<long> _shipVia;\r
2183                 \r
2184                 private EntitySet<OrderDetail> _orderDetails;\r
2185                 \r
2186                 private EntityRef<Shipper> _shipper = new EntityRef<Shipper>();\r
2187                 \r
2188                 private EntityRef<Employee> _employee = new EntityRef<Employee>();\r
2189                 \r
2190                 private EntityRef<Customer> _customer = new EntityRef<Customer>();\r
2191                 \r
2192                 #region Extensibility Method Declarations\r
2193                 partial void OnCreated();\r
2194                 \r
2195                 partial void OnCustomerIDChanged();\r
2196                 \r
2197                 partial void OnCustomerIDChanging(string value);\r
2198                 \r
2199                 partial void OnEmployeeIDChanged();\r
2200                 \r
2201                 partial void OnEmployeeIDChanging(System.Nullable<long> value);\r
2202                 \r
2203                 partial void OnFreightChanged();\r
2204                 \r
2205                 partial void OnFreightChanging(System.Nullable<decimal> value);\r
2206                 \r
2207                 partial void OnOrderDateChanged();\r
2208                 \r
2209                 partial void OnOrderDateChanging(System.Nullable<System.DateTime> value);\r
2210                 \r
2211                 partial void OnOrderIDChanged();\r
2212                 \r
2213                 partial void OnOrderIDChanging(long value);\r
2214                 \r
2215                 partial void OnRequiredDateChanged();\r
2216                 \r
2217                 partial void OnRequiredDateChanging(System.Nullable<System.DateTime> value);\r
2218                 \r
2219                 partial void OnShipAddressChanged();\r
2220                 \r
2221                 partial void OnShipAddressChanging(string value);\r
2222                 \r
2223                 partial void OnShipCityChanged();\r
2224                 \r
2225                 partial void OnShipCityChanging(string value);\r
2226                 \r
2227                 partial void OnShipCountryChanged();\r
2228                 \r
2229                 partial void OnShipCountryChanging(string value);\r
2230                 \r
2231                 partial void OnShipNameChanged();\r
2232                 \r
2233                 partial void OnShipNameChanging(string value);\r
2234                 \r
2235                 partial void OnShippedDateChanged();\r
2236                 \r
2237                 partial void OnShippedDateChanging(System.Nullable<System.DateTime> value);\r
2238                 \r
2239                 partial void OnShipPostalCodeChanged();\r
2240                 \r
2241                 partial void OnShipPostalCodeChanging(string value);\r
2242                 \r
2243                 partial void OnShipRegionChanged();\r
2244                 \r
2245                 partial void OnShipRegionChanging(string value);\r
2246                 \r
2247                 partial void OnShipViaChanged();\r
2248                 \r
2249                 partial void OnShipViaChanging(System.Nullable<long> value);\r
2250                 #endregion\r
2251                 \r
2252                 \r
2253                 public Order()\r
2254                 {\r
2255                         _orderDetails = new EntitySet<OrderDetail>(new Action<OrderDetail>(this.OrderDetails_Attach), new Action<OrderDetail>(this.OrderDetails_Detach));\r
2256                         this.OnCreated();\r
2257                 }\r
2258                 \r
2259                 [Column(Storage="_customerID", Name="CustomerID", DbType="nchar", AutoSync=AutoSync.Never)]\r
2260                 [DebuggerNonUserCode()]\r
2261                 public string CustomerID\r
2262                 {\r
2263                         get\r
2264                         {\r
2265                                 return this._customerID;\r
2266                         }\r
2267                         set\r
2268                         {\r
2269                                 if (((_customerID == value) \r
2270                                                         == false))\r
2271                                 {\r
2272                                         if (_customer.HasLoadedOrAssignedValue)\r
2273                                         {\r
2274                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2275                                         }\r
2276                                         this.OnCustomerIDChanging(value);\r
2277                                         this.SendPropertyChanging();\r
2278                                         this._customerID = value;\r
2279                                         this.SendPropertyChanged("CustomerID");\r
2280                                         this.OnCustomerIDChanged();\r
2281                                 }\r
2282                         }\r
2283                 }\r
2284                 \r
2285                 [Column(Storage="_employeeID", Name="EmployeeID", DbType="integer", AutoSync=AutoSync.Never)]\r
2286                 [DebuggerNonUserCode()]\r
2287                 public System.Nullable<long> EmployeeID\r
2288                 {\r
2289                         get\r
2290                         {\r
2291                                 return this._employeeID;\r
2292                         }\r
2293                         set\r
2294                         {\r
2295                                 if ((_employeeID != value))\r
2296                                 {\r
2297                                         if (_employee.HasLoadedOrAssignedValue)\r
2298                                         {\r
2299                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2300                                         }\r
2301                                         this.OnEmployeeIDChanging(value);\r
2302                                         this.SendPropertyChanging();\r
2303                                         this._employeeID = value;\r
2304                                         this.SendPropertyChanged("EmployeeID");\r
2305                                         this.OnEmployeeIDChanged();\r
2306                                 }\r
2307                         }\r
2308                 }\r
2309                 \r
2310                 [Column(Storage="_freight", Name="Freight", DbType="money", AutoSync=AutoSync.Never)]\r
2311                 [DebuggerNonUserCode()]\r
2312                 public System.Nullable<decimal> Freight\r
2313                 {\r
2314                         get\r
2315                         {\r
2316                                 return this._freight;\r
2317                         }\r
2318                         set\r
2319                         {\r
2320                                 if ((_freight != value))\r
2321                                 {\r
2322                                         this.OnFreightChanging(value);\r
2323                                         this.SendPropertyChanging();\r
2324                                         this._freight = value;\r
2325                                         this.SendPropertyChanged("Freight");\r
2326                                         this.OnFreightChanged();\r
2327                                 }\r
2328                         }\r
2329                 }\r
2330                 \r
2331                 [Column(Storage="_orderDate", Name="OrderDate", DbType="datetime", AutoSync=AutoSync.Never)]\r
2332                 [DebuggerNonUserCode()]\r
2333                 public System.Nullable<System.DateTime> OrderDate\r
2334                 {\r
2335                         get\r
2336                         {\r
2337                                 return this._orderDate;\r
2338                         }\r
2339                         set\r
2340                         {\r
2341                                 if ((_orderDate != value))\r
2342                                 {\r
2343                                         this.OnOrderDateChanging(value);\r
2344                                         this.SendPropertyChanging();\r
2345                                         this._orderDate = value;\r
2346                                         this.SendPropertyChanged("OrderDate");\r
2347                                         this.OnOrderDateChanged();\r
2348                                 }\r
2349                         }\r
2350                 }\r
2351                 \r
2352                 [Column(Storage="_orderID", Name="OrderID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
2353                 [DebuggerNonUserCode()]\r
2354                 public long OrderID\r
2355                 {\r
2356                         get\r
2357                         {\r
2358                                 return this._orderID;\r
2359                         }\r
2360                         set\r
2361                         {\r
2362                                 if ((_orderID != value))\r
2363                                 {\r
2364                                         this.OnOrderIDChanging(value);\r
2365                                         this.SendPropertyChanging();\r
2366                                         this._orderID = value;\r
2367                                         this.SendPropertyChanged("OrderID");\r
2368                                         this.OnOrderIDChanged();\r
2369                                 }\r
2370                         }\r
2371                 }\r
2372                 \r
2373                 [Column(Storage="_requiredDate", Name="RequiredDate", DbType="datetime", AutoSync=AutoSync.Never)]\r
2374                 [DebuggerNonUserCode()]\r
2375                 public System.Nullable<System.DateTime> RequiredDate\r
2376                 {\r
2377                         get\r
2378                         {\r
2379                                 return this._requiredDate;\r
2380                         }\r
2381                         set\r
2382                         {\r
2383                                 if ((_requiredDate != value))\r
2384                                 {\r
2385                                         this.OnRequiredDateChanging(value);\r
2386                                         this.SendPropertyChanging();\r
2387                                         this._requiredDate = value;\r
2388                                         this.SendPropertyChanged("RequiredDate");\r
2389                                         this.OnRequiredDateChanged();\r
2390                                 }\r
2391                         }\r
2392                 }\r
2393                 \r
2394                 [Column(Storage="_shipAddress", Name="ShipAddress", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2395                 [DebuggerNonUserCode()]\r
2396                 public string ShipAddress\r
2397                 {\r
2398                         get\r
2399                         {\r
2400                                 return this._shipAddress;\r
2401                         }\r
2402                         set\r
2403                         {\r
2404                                 if (((_shipAddress == value) \r
2405                                                         == false))\r
2406                                 {\r
2407                                         this.OnShipAddressChanging(value);\r
2408                                         this.SendPropertyChanging();\r
2409                                         this._shipAddress = value;\r
2410                                         this.SendPropertyChanged("ShipAddress");\r
2411                                         this.OnShipAddressChanged();\r
2412                                 }\r
2413                         }\r
2414                 }\r
2415                 \r
2416                 [Column(Storage="_shipCity", Name="ShipCity", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2417                 [DebuggerNonUserCode()]\r
2418                 public string ShipCity\r
2419                 {\r
2420                         get\r
2421                         {\r
2422                                 return this._shipCity;\r
2423                         }\r
2424                         set\r
2425                         {\r
2426                                 if (((_shipCity == value) \r
2427                                                         == false))\r
2428                                 {\r
2429                                         this.OnShipCityChanging(value);\r
2430                                         this.SendPropertyChanging();\r
2431                                         this._shipCity = value;\r
2432                                         this.SendPropertyChanged("ShipCity");\r
2433                                         this.OnShipCityChanged();\r
2434                                 }\r
2435                         }\r
2436                 }\r
2437                 \r
2438                 [Column(Storage="_shipCountry", Name="ShipCountry", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2439                 [DebuggerNonUserCode()]\r
2440                 public string ShipCountry\r
2441                 {\r
2442                         get\r
2443                         {\r
2444                                 return this._shipCountry;\r
2445                         }\r
2446                         set\r
2447                         {\r
2448                                 if (((_shipCountry == value) \r
2449                                                         == false))\r
2450                                 {\r
2451                                         this.OnShipCountryChanging(value);\r
2452                                         this.SendPropertyChanging();\r
2453                                         this._shipCountry = value;\r
2454                                         this.SendPropertyChanged("ShipCountry");\r
2455                                         this.OnShipCountryChanged();\r
2456                                 }\r
2457                         }\r
2458                 }\r
2459                 \r
2460                 [Column(Storage="_shipName", Name="ShipName", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2461                 [DebuggerNonUserCode()]\r
2462                 public string ShipName\r
2463                 {\r
2464                         get\r
2465                         {\r
2466                                 return this._shipName;\r
2467                         }\r
2468                         set\r
2469                         {\r
2470                                 if (((_shipName == value) \r
2471                                                         == false))\r
2472                                 {\r
2473                                         this.OnShipNameChanging(value);\r
2474                                         this.SendPropertyChanging();\r
2475                                         this._shipName = value;\r
2476                                         this.SendPropertyChanged("ShipName");\r
2477                                         this.OnShipNameChanged();\r
2478                                 }\r
2479                         }\r
2480                 }\r
2481                 \r
2482                 [Column(Storage="_shippedDate", Name="ShippedDate", DbType="datetime", AutoSync=AutoSync.Never)]\r
2483                 [DebuggerNonUserCode()]\r
2484                 public System.Nullable<System.DateTime> ShippedDate\r
2485                 {\r
2486                         get\r
2487                         {\r
2488                                 return this._shippedDate;\r
2489                         }\r
2490                         set\r
2491                         {\r
2492                                 if ((_shippedDate != value))\r
2493                                 {\r
2494                                         this.OnShippedDateChanging(value);\r
2495                                         this.SendPropertyChanging();\r
2496                                         this._shippedDate = value;\r
2497                                         this.SendPropertyChanged("ShippedDate");\r
2498                                         this.OnShippedDateChanged();\r
2499                                 }\r
2500                         }\r
2501                 }\r
2502                 \r
2503                 [Column(Storage="_shipPostalCode", Name="ShipPostalCode", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2504                 [DebuggerNonUserCode()]\r
2505                 public string ShipPostalCode\r
2506                 {\r
2507                         get\r
2508                         {\r
2509                                 return this._shipPostalCode;\r
2510                         }\r
2511                         set\r
2512                         {\r
2513                                 if (((_shipPostalCode == value) \r
2514                                                         == false))\r
2515                                 {\r
2516                                         this.OnShipPostalCodeChanging(value);\r
2517                                         this.SendPropertyChanging();\r
2518                                         this._shipPostalCode = value;\r
2519                                         this.SendPropertyChanged("ShipPostalCode");\r
2520                                         this.OnShipPostalCodeChanged();\r
2521                                 }\r
2522                         }\r
2523                 }\r
2524                 \r
2525                 [Column(Storage="_shipRegion", Name="ShipRegion", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
2526                 [DebuggerNonUserCode()]\r
2527                 public string ShipRegion\r
2528                 {\r
2529                         get\r
2530                         {\r
2531                                 return this._shipRegion;\r
2532                         }\r
2533                         set\r
2534                         {\r
2535                                 if (((_shipRegion == value) \r
2536                                                         == false))\r
2537                                 {\r
2538                                         this.OnShipRegionChanging(value);\r
2539                                         this.SendPropertyChanging();\r
2540                                         this._shipRegion = value;\r
2541                                         this.SendPropertyChanged("ShipRegion");\r
2542                                         this.OnShipRegionChanged();\r
2543                                 }\r
2544                         }\r
2545                 }\r
2546                 \r
2547                 [Column(Storage="_shipVia", Name="ShipVia", DbType="integer", AutoSync=AutoSync.Never)]\r
2548                 [DebuggerNonUserCode()]\r
2549                 public System.Nullable<long> ShipVia\r
2550                 {\r
2551                         get\r
2552                         {\r
2553                                 return this._shipVia;\r
2554                         }\r
2555                         set\r
2556                         {\r
2557                                 if ((_shipVia != value))\r
2558                                 {\r
2559                                         if (_shipper.HasLoadedOrAssignedValue)\r
2560                                         {\r
2561                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2562                                         }\r
2563                                         this.OnShipViaChanging(value);\r
2564                                         this.SendPropertyChanging();\r
2565                                         this._shipVia = value;\r
2566                                         this.SendPropertyChanged("ShipVia");\r
2567                                         this.OnShipViaChanged();\r
2568                                 }\r
2569                         }\r
2570                 }\r
2571                 \r
2572                 #region Children\r
2573                 [Association(Storage="_orderDetails", OtherKey="OrderID", ThisKey="OrderID", Name="FK_Order Details_1")]\r
2574                 [DebuggerNonUserCode()]\r
2575                 public EntitySet<OrderDetail> OrderDetails\r
2576                 {\r
2577                         get\r
2578                         {\r
2579                                 return this._orderDetails;\r
2580                         }\r
2581                         set\r
2582                         {\r
2583                                 this._orderDetails = value;\r
2584                         }\r
2585                 }\r
2586                 #endregion\r
2587                 \r
2588                 #region Parents\r
2589                 [Association(Storage="_shipper", OtherKey="ShipperID", ThisKey="ShipVia", Name="FK_Orders_0", IsForeignKey=true)]\r
2590                 [DebuggerNonUserCode()]\r
2591                 public Shipper Shipper\r
2592                 {\r
2593                         get\r
2594                         {\r
2595                                 return this._shipper.Entity;\r
2596                         }\r
2597                         set\r
2598                         {\r
2599                                 if (((this._shipper.Entity == value) \r
2600                                                         == false))\r
2601                                 {\r
2602                                         if ((this._shipper.Entity != null))\r
2603                                         {\r
2604                                                 Shipper previousShipper = this._shipper.Entity;\r
2605                                                 this._shipper.Entity = null;\r
2606                                                 previousShipper.Orders.Remove(this);\r
2607                                         }\r
2608                                         this._shipper.Entity = value;\r
2609                                         if ((value != null))\r
2610                                         {\r
2611                                                 value.Orders.Add(this);\r
2612                                                 _shipVia = value.ShipperID;\r
2613                                         }\r
2614                                         else\r
2615                                         {\r
2616                                                 _shipVia = null;\r
2617                                         }\r
2618                                 }\r
2619                         }\r
2620                 }\r
2621                 \r
2622                 [Association(Storage="_employee", OtherKey="EmployeeID", ThisKey="EmployeeID", Name="FK_Orders_1", IsForeignKey=true)]\r
2623                 [DebuggerNonUserCode()]\r
2624                 public Employee Employee\r
2625                 {\r
2626                         get\r
2627                         {\r
2628                                 return this._employee.Entity;\r
2629                         }\r
2630                         set\r
2631                         {\r
2632                                 if (((this._employee.Entity == value) \r
2633                                                         == false))\r
2634                                 {\r
2635                                         if ((this._employee.Entity != null))\r
2636                                         {\r
2637                                                 Employee previousEmployee = this._employee.Entity;\r
2638                                                 this._employee.Entity = null;\r
2639                                                 previousEmployee.Orders.Remove(this);\r
2640                                         }\r
2641                                         this._employee.Entity = value;\r
2642                                         if ((value != null))\r
2643                                         {\r
2644                                                 value.Orders.Add(this);\r
2645                                                 _employeeID = value.EmployeeID;\r
2646                                         }\r
2647                                         else\r
2648                                         {\r
2649                                                 _employeeID = null;\r
2650                                         }\r
2651                                 }\r
2652                         }\r
2653                 }\r
2654                 \r
2655                 [Association(Storage="_customer", OtherKey="CustomerID", ThisKey="CustomerID", Name="FK_Orders_2", IsForeignKey=true)]\r
2656                 [DebuggerNonUserCode()]\r
2657                 public Customer Customer\r
2658                 {\r
2659                         get\r
2660                         {\r
2661                                 return this._customer.Entity;\r
2662                         }\r
2663                         set\r
2664                         {\r
2665                                 if (((this._customer.Entity == value) \r
2666                                                         == false))\r
2667                                 {\r
2668                                         if ((this._customer.Entity != null))\r
2669                                         {\r
2670                                                 Customer previousCustomer = this._customer.Entity;\r
2671                                                 this._customer.Entity = null;\r
2672                                                 previousCustomer.Orders.Remove(this);\r
2673                                         }\r
2674                                         this._customer.Entity = value;\r
2675                                         if ((value != null))\r
2676                                         {\r
2677                                                 value.Orders.Add(this);\r
2678                                                 _customerID = value.CustomerID;\r
2679                                         }\r
2680                                         else\r
2681                                         {\r
2682                                                 _customerID = null;\r
2683                                         }\r
2684                                 }\r
2685                         }\r
2686                 }\r
2687                 #endregion\r
2688                 \r
2689                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
2690                 \r
2691                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
2692                 \r
2693                 protected virtual void SendPropertyChanging()\r
2694                 {\r
2695                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
2696                         if ((h != null))\r
2697                         {\r
2698                                 h(this, emptyChangingEventArgs);\r
2699                         }\r
2700                 }\r
2701                 \r
2702                 protected virtual void SendPropertyChanged(string propertyName)\r
2703                 {\r
2704                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
2705                         if ((h != null))\r
2706                         {\r
2707                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
2708                         }\r
2709                 }\r
2710                 \r
2711                 public override int GetHashCode()\r
2712                 {\r
2713                         int hc = 0;\r
2714                         hc = (hc \r
2715                                                 | (_orderID.GetHashCode() * 1));\r
2716                         return hc;\r
2717                 }\r
2718                 \r
2719                 public override bool Equals(object value)\r
2720                 {\r
2721                         if ((value == null))\r
2722                         {\r
2723                                 return false;\r
2724                         }\r
2725                         if (((value.GetType() == this.GetType()) \r
2726                                                 == false))\r
2727                         {\r
2728                                 return false;\r
2729                         }\r
2730                         Order other = ((Order)(value));\r
2731                         return this.Equals(other);\r
2732                 }\r
2733                 \r
2734                 public virtual bool Equals(Order value)\r
2735                 {\r
2736                         if ((value == null))\r
2737                         {\r
2738                                 return false;\r
2739                         }\r
2740                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._orderID, value._orderID);\r
2741                 }\r
2742                 \r
2743                 #region Attachment handlers\r
2744                 private void OrderDetails_Attach(OrderDetail entity)\r
2745                 {\r
2746                         this.SendPropertyChanging();\r
2747                         entity.Order = this;\r
2748                 }\r
2749                 \r
2750                 private void OrderDetails_Detach(OrderDetail entity)\r
2751                 {\r
2752                         this.SendPropertyChanging();\r
2753                         entity.Order = null;\r
2754                 }\r
2755                 #endregion\r
2756         }\r
2757         \r
2758         [Table(Name="Order Details")]\r
2759         public partial class OrderDetail : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<OrderDetail>\r
2760         {\r
2761                 \r
2762                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
2763                 \r
2764                 private float _discount;\r
2765                 \r
2766                 private long _orderID;\r
2767                 \r
2768                 private long _productID;\r
2769                 \r
2770                 private short _quantity;\r
2771                 \r
2772                 private decimal _unitPrice;\r
2773                 \r
2774                 private EntityRef<Product> _product = new EntityRef<Product>();\r
2775                 \r
2776                 private EntityRef<Order> _order = new EntityRef<Order>();\r
2777                 \r
2778                 #region Extensibility Method Declarations\r
2779                 partial void OnCreated();\r
2780                 \r
2781                 partial void OnDiscountChanged();\r
2782                 \r
2783                 partial void OnDiscountChanging(float value);\r
2784                 \r
2785                 partial void OnOrderIDChanged();\r
2786                 \r
2787                 partial void OnOrderIDChanging(long value);\r
2788                 \r
2789                 partial void OnProductIDChanged();\r
2790                 \r
2791                 partial void OnProductIDChanging(long value);\r
2792                 \r
2793                 partial void OnQuantityChanged();\r
2794                 \r
2795                 partial void OnQuantityChanging(short value);\r
2796                 \r
2797                 partial void OnUnitPriceChanged();\r
2798                 \r
2799                 partial void OnUnitPriceChanging(decimal value);\r
2800                 #endregion\r
2801                 \r
2802                 \r
2803                 public OrderDetail()\r
2804                 {\r
2805                         this.OnCreated();\r
2806                 }\r
2807                 \r
2808                 [Column(Storage="_discount", Name="Discount", DbType="real", AutoSync=AutoSync.Never, CanBeNull=false)]\r
2809                 [DebuggerNonUserCode()]\r
2810                 public float Discount\r
2811                 {\r
2812                         get\r
2813                         {\r
2814                                 return this._discount;\r
2815                         }\r
2816                         set\r
2817                         {\r
2818                                 if ((_discount != value))\r
2819                                 {\r
2820                                         this.OnDiscountChanging(value);\r
2821                                         this.SendPropertyChanging();\r
2822                                         this._discount = value;\r
2823                                         this.SendPropertyChanged("Discount");\r
2824                                         this.OnDiscountChanged();\r
2825                                 }\r
2826                         }\r
2827                 }\r
2828                 \r
2829                 [Column(Storage="_orderID", Name="OrderID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
2830                 [DebuggerNonUserCode()]\r
2831                 public long OrderID\r
2832                 {\r
2833                         get\r
2834                         {\r
2835                                 return this._orderID;\r
2836                         }\r
2837                         set\r
2838                         {\r
2839                                 if ((_orderID != value))\r
2840                                 {\r
2841                                         if (_order.HasLoadedOrAssignedValue)\r
2842                                         {\r
2843                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2844                                         }\r
2845                                         this.OnOrderIDChanging(value);\r
2846                                         this.SendPropertyChanging();\r
2847                                         this._orderID = value;\r
2848                                         this.SendPropertyChanged("OrderID");\r
2849                                         this.OnOrderIDChanged();\r
2850                                 }\r
2851                         }\r
2852                 }\r
2853                 \r
2854                 [Column(Storage="_productID", Name="ProductID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
2855                 [DebuggerNonUserCode()]\r
2856                 public long ProductID\r
2857                 {\r
2858                         get\r
2859                         {\r
2860                                 return this._productID;\r
2861                         }\r
2862                         set\r
2863                         {\r
2864                                 if ((_productID != value))\r
2865                                 {\r
2866                                         if (_product.HasLoadedOrAssignedValue)\r
2867                                         {\r
2868                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
2869                                         }\r
2870                                         this.OnProductIDChanging(value);\r
2871                                         this.SendPropertyChanging();\r
2872                                         this._productID = value;\r
2873                                         this.SendPropertyChanged("ProductID");\r
2874                                         this.OnProductIDChanged();\r
2875                                 }\r
2876                         }\r
2877                 }\r
2878                 \r
2879                 [Column(Storage="_quantity", Name="Quantity", DbType="smallint", AutoSync=AutoSync.Never, CanBeNull=false)]\r
2880                 [DebuggerNonUserCode()]\r
2881                 public short Quantity\r
2882                 {\r
2883                         get\r
2884                         {\r
2885                                 return this._quantity;\r
2886                         }\r
2887                         set\r
2888                         {\r
2889                                 if ((_quantity != value))\r
2890                                 {\r
2891                                         this.OnQuantityChanging(value);\r
2892                                         this.SendPropertyChanging();\r
2893                                         this._quantity = value;\r
2894                                         this.SendPropertyChanged("Quantity");\r
2895                                         this.OnQuantityChanged();\r
2896                                 }\r
2897                         }\r
2898                 }\r
2899                 \r
2900                 [Column(Storage="_unitPrice", Name="UnitPrice", DbType="money", AutoSync=AutoSync.Never, CanBeNull=false)]\r
2901                 [DebuggerNonUserCode()]\r
2902                 public decimal UnitPrice\r
2903                 {\r
2904                         get\r
2905                         {\r
2906                                 return this._unitPrice;\r
2907                         }\r
2908                         set\r
2909                         {\r
2910                                 if ((_unitPrice != value))\r
2911                                 {\r
2912                                         this.OnUnitPriceChanging(value);\r
2913                                         this.SendPropertyChanging();\r
2914                                         this._unitPrice = value;\r
2915                                         this.SendPropertyChanged("UnitPrice");\r
2916                                         this.OnUnitPriceChanged();\r
2917                                 }\r
2918                         }\r
2919                 }\r
2920                 \r
2921                 #region Parents\r
2922                 [Association(Storage="_product", OtherKey="ProductID", ThisKey="ProductID", Name="FK_Order Details_0", IsForeignKey=true)]\r
2923                 [DebuggerNonUserCode()]\r
2924                 public Product Product\r
2925                 {\r
2926                         get\r
2927                         {\r
2928                                 return this._product.Entity;\r
2929                         }\r
2930                         set\r
2931                         {\r
2932                                 if (((this._product.Entity == value) \r
2933                                                         == false))\r
2934                                 {\r
2935                                         if ((this._product.Entity != null))\r
2936                                         {\r
2937                                                 Product previousProduct = this._product.Entity;\r
2938                                                 this._product.Entity = null;\r
2939                                                 previousProduct.OrderDetails.Remove(this);\r
2940                                         }\r
2941                                         this._product.Entity = value;\r
2942                                         if ((value != null))\r
2943                                         {\r
2944                                                 value.OrderDetails.Add(this);\r
2945                                                 _productID = value.ProductID;\r
2946                                         }\r
2947                                         else\r
2948                                         {\r
2949                                                 _productID = default(long);\r
2950                                         }\r
2951                                 }\r
2952                         }\r
2953                 }\r
2954                 \r
2955                 [Association(Storage="_order", OtherKey="OrderID", ThisKey="OrderID", Name="FK_Order Details_1", IsForeignKey=true)]\r
2956                 [DebuggerNonUserCode()]\r
2957                 public Order Order\r
2958                 {\r
2959                         get\r
2960                         {\r
2961                                 return this._order.Entity;\r
2962                         }\r
2963                         set\r
2964                         {\r
2965                                 if (((this._order.Entity == value) \r
2966                                                         == false))\r
2967                                 {\r
2968                                         if ((this._order.Entity != null))\r
2969                                         {\r
2970                                                 Order previousOrder = this._order.Entity;\r
2971                                                 this._order.Entity = null;\r
2972                                                 previousOrder.OrderDetails.Remove(this);\r
2973                                         }\r
2974                                         this._order.Entity = value;\r
2975                                         if ((value != null))\r
2976                                         {\r
2977                                                 value.OrderDetails.Add(this);\r
2978                                                 _orderID = value.OrderID;\r
2979                                         }\r
2980                                         else\r
2981                                         {\r
2982                                                 _orderID = default(long);\r
2983                                         }\r
2984                                 }\r
2985                         }\r
2986                 }\r
2987                 #endregion\r
2988                 \r
2989                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
2990                 \r
2991                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
2992                 \r
2993                 protected virtual void SendPropertyChanging()\r
2994                 {\r
2995                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
2996                         if ((h != null))\r
2997                         {\r
2998                                 h(this, emptyChangingEventArgs);\r
2999                         }\r
3000                 }\r
3001                 \r
3002                 protected virtual void SendPropertyChanged(string propertyName)\r
3003                 {\r
3004                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
3005                         if ((h != null))\r
3006                         {\r
3007                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
3008                         }\r
3009                 }\r
3010                 \r
3011                 public override int GetHashCode()\r
3012                 {\r
3013                         int hc = 0;\r
3014                         hc = (hc \r
3015                                                 | (_orderID.GetHashCode() * 1));\r
3016                         hc = (hc \r
3017                                                 | (_productID.GetHashCode() * 65536));\r
3018                         return hc;\r
3019                 }\r
3020                 \r
3021                 public override bool Equals(object value)\r
3022                 {\r
3023                         if ((value == null))\r
3024                         {\r
3025                                 return false;\r
3026                         }\r
3027                         if (((value.GetType() == this.GetType()) \r
3028                                                 == false))\r
3029                         {\r
3030                                 return false;\r
3031                         }\r
3032                         OrderDetail other = ((OrderDetail)(value));\r
3033                         return this.Equals(other);\r
3034                 }\r
3035                 \r
3036                 public virtual bool Equals(OrderDetail value)\r
3037                 {\r
3038                         if ((value == null))\r
3039                         {\r
3040                                 return false;\r
3041                         }\r
3042                         return (System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._orderID, value._orderID) && System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._productID, value._productID));\r
3043                 }\r
3044         }\r
3045         \r
3046         [Table(Name="Products")]\r
3047         public partial class Product : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Product>\r
3048         {\r
3049                 \r
3050                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
3051                 \r
3052                 private System.Nullable<long> _categoryID;\r
3053                 \r
3054                 private bool _discontinued;\r
3055                 \r
3056                 private long _productID;\r
3057                 \r
3058                 private string _productName;\r
3059                 \r
3060                 private string _quantityPerUnit;\r
3061                 \r
3062                 private System.Nullable<short> _reorderLevel;\r
3063                 \r
3064                 private System.Nullable<long> _supplierID;\r
3065                 \r
3066                 private System.Nullable<decimal> _unitPrice;\r
3067                 \r
3068                 private System.Nullable<short> _unitsInStock;\r
3069                 \r
3070                 private System.Nullable<short> _unitsOnOrder;\r
3071                 \r
3072                 private EntitySet<OrderDetail> _orderDetails;\r
3073                 \r
3074                 private EntityRef<Supplier> _supplier = new EntityRef<Supplier>();\r
3075                 \r
3076                 private EntityRef<Category> _category = new EntityRef<Category>();\r
3077                 \r
3078                 #region Extensibility Method Declarations\r
3079                 partial void OnCreated();\r
3080                 \r
3081                 partial void OnCategoryIDChanged();\r
3082                 \r
3083                 partial void OnCategoryIDChanging(System.Nullable<long> value);\r
3084                 \r
3085                 partial void OnDiscontinuedChanged();\r
3086                 \r
3087                 partial void OnDiscontinuedChanging(bool value);\r
3088                 \r
3089                 partial void OnProductIDChanged();\r
3090                 \r
3091                 partial void OnProductIDChanging(long value);\r
3092                 \r
3093                 partial void OnProductNameChanged();\r
3094                 \r
3095                 partial void OnProductNameChanging(string value);\r
3096                 \r
3097                 partial void OnQuantityPerUnitChanged();\r
3098                 \r
3099                 partial void OnQuantityPerUnitChanging(string value);\r
3100                 \r
3101                 partial void OnReorderLevelChanged();\r
3102                 \r
3103                 partial void OnReorderLevelChanging(System.Nullable<short> value);\r
3104                 \r
3105                 partial void OnSupplierIDChanged();\r
3106                 \r
3107                 partial void OnSupplierIDChanging(System.Nullable<long> value);\r
3108                 \r
3109                 partial void OnUnitPriceChanged();\r
3110                 \r
3111                 partial void OnUnitPriceChanging(System.Nullable<decimal> value);\r
3112                 \r
3113                 partial void OnUnitsInStockChanged();\r
3114                 \r
3115                 partial void OnUnitsInStockChanging(System.Nullable<short> value);\r
3116                 \r
3117                 partial void OnUnitsOnOrderChanged();\r
3118                 \r
3119                 partial void OnUnitsOnOrderChanging(System.Nullable<short> value);\r
3120                 #endregion\r
3121                 \r
3122                 \r
3123                 public Product()\r
3124                 {\r
3125                         _orderDetails = new EntitySet<OrderDetail>(new Action<OrderDetail>(this.OrderDetails_Attach), new Action<OrderDetail>(this.OrderDetails_Detach));\r
3126                         this.OnCreated();\r
3127                 }\r
3128                 \r
3129                 [Column(Storage="_categoryID", Name="CategoryID", DbType="integer", AutoSync=AutoSync.Never)]\r
3130                 [DebuggerNonUserCode()]\r
3131                 public System.Nullable<long> CategoryID\r
3132                 {\r
3133                         get\r
3134                         {\r
3135                                 return this._categoryID;\r
3136                         }\r
3137                         set\r
3138                         {\r
3139                                 if ((_categoryID != value))\r
3140                                 {\r
3141                                         if (_category.HasLoadedOrAssignedValue)\r
3142                                         {\r
3143                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
3144                                         }\r
3145                                         this.OnCategoryIDChanging(value);\r
3146                                         this.SendPropertyChanging();\r
3147                                         this._categoryID = value;\r
3148                                         this.SendPropertyChanged("CategoryID");\r
3149                                         this.OnCategoryIDChanged();\r
3150                                 }\r
3151                         }\r
3152                 }\r
3153                 \r
3154                 [Column(Storage="_discontinued", Name="Discontinued", DbType="bit", AutoSync=AutoSync.Never, CanBeNull=false)]\r
3155                 [DebuggerNonUserCode()]\r
3156                 public bool Discontinued\r
3157                 {\r
3158                         get\r
3159                         {\r
3160                                 return this._discontinued;\r
3161                         }\r
3162                         set\r
3163                         {\r
3164                                 if ((_discontinued != value))\r
3165                                 {\r
3166                                         this.OnDiscontinuedChanging(value);\r
3167                                         this.SendPropertyChanging();\r
3168                                         this._discontinued = value;\r
3169                                         this.SendPropertyChanged("Discontinued");\r
3170                                         this.OnDiscontinuedChanged();\r
3171                                 }\r
3172                         }\r
3173                 }\r
3174                 \r
3175                 [Column(Storage="_productID", Name="ProductID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
3176                 [DebuggerNonUserCode()]\r
3177                 public long ProductID\r
3178                 {\r
3179                         get\r
3180                         {\r
3181                                 return this._productID;\r
3182                         }\r
3183                         set\r
3184                         {\r
3185                                 if ((_productID != value))\r
3186                                 {\r
3187                                         this.OnProductIDChanging(value);\r
3188                                         this.SendPropertyChanging();\r
3189                                         this._productID = value;\r
3190                                         this.SendPropertyChanged("ProductID");\r
3191                                         this.OnProductIDChanged();\r
3192                                 }\r
3193                         }\r
3194                 }\r
3195                 \r
3196                 [Column(Storage="_productName", Name="ProductName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
3197                 [DebuggerNonUserCode()]\r
3198                 public string ProductName\r
3199                 {\r
3200                         get\r
3201                         {\r
3202                                 return this._productName;\r
3203                         }\r
3204                         set\r
3205                         {\r
3206                                 if (((_productName == value) \r
3207                                                         == false))\r
3208                                 {\r
3209                                         this.OnProductNameChanging(value);\r
3210                                         this.SendPropertyChanging();\r
3211                                         this._productName = value;\r
3212                                         this.SendPropertyChanged("ProductName");\r
3213                                         this.OnProductNameChanged();\r
3214                                 }\r
3215                         }\r
3216                 }\r
3217                 \r
3218                 [Column(Storage="_quantityPerUnit", Name="QuantityPerUnit", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
3219                 [DebuggerNonUserCode()]\r
3220                 public string QuantityPerUnit\r
3221                 {\r
3222                         get\r
3223                         {\r
3224                                 return this._quantityPerUnit;\r
3225                         }\r
3226                         set\r
3227                         {\r
3228                                 if (((_quantityPerUnit == value) \r
3229                                                         == false))\r
3230                                 {\r
3231                                         this.OnQuantityPerUnitChanging(value);\r
3232                                         this.SendPropertyChanging();\r
3233                                         this._quantityPerUnit = value;\r
3234                                         this.SendPropertyChanged("QuantityPerUnit");\r
3235                                         this.OnQuantityPerUnitChanged();\r
3236                                 }\r
3237                         }\r
3238                 }\r
3239                 \r
3240                 [Column(Storage="_reorderLevel", Name="ReorderLevel", DbType="smallint", AutoSync=AutoSync.Never)]\r
3241                 [DebuggerNonUserCode()]\r
3242                 public System.Nullable<short> ReorderLevel\r
3243                 {\r
3244                         get\r
3245                         {\r
3246                                 return this._reorderLevel;\r
3247                         }\r
3248                         set\r
3249                         {\r
3250                                 if ((_reorderLevel != value))\r
3251                                 {\r
3252                                         this.OnReorderLevelChanging(value);\r
3253                                         this.SendPropertyChanging();\r
3254                                         this._reorderLevel = value;\r
3255                                         this.SendPropertyChanged("ReorderLevel");\r
3256                                         this.OnReorderLevelChanged();\r
3257                                 }\r
3258                         }\r
3259                 }\r
3260                 \r
3261                 [Column(Storage="_supplierID", Name="SupplierID", DbType="integer", AutoSync=AutoSync.Never)]\r
3262                 [DebuggerNonUserCode()]\r
3263                 public System.Nullable<long> SupplierID\r
3264                 {\r
3265                         get\r
3266                         {\r
3267                                 return this._supplierID;\r
3268                         }\r
3269                         set\r
3270                         {\r
3271                                 if ((_supplierID != value))\r
3272                                 {\r
3273                                         if (_supplier.HasLoadedOrAssignedValue)\r
3274                                         {\r
3275                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
3276                                         }\r
3277                                         this.OnSupplierIDChanging(value);\r
3278                                         this.SendPropertyChanging();\r
3279                                         this._supplierID = value;\r
3280                                         this.SendPropertyChanged("SupplierID");\r
3281                                         this.OnSupplierIDChanged();\r
3282                                 }\r
3283                         }\r
3284                 }\r
3285                 \r
3286                 [Column(Storage="_unitPrice", Name="UnitPrice", DbType="money", AutoSync=AutoSync.Never)]\r
3287                 [DebuggerNonUserCode()]\r
3288                 public System.Nullable<decimal> UnitPrice\r
3289                 {\r
3290                         get\r
3291                         {\r
3292                                 return this._unitPrice;\r
3293                         }\r
3294                         set\r
3295                         {\r
3296                                 if ((_unitPrice != value))\r
3297                                 {\r
3298                                         this.OnUnitPriceChanging(value);\r
3299                                         this.SendPropertyChanging();\r
3300                                         this._unitPrice = value;\r
3301                                         this.SendPropertyChanged("UnitPrice");\r
3302                                         this.OnUnitPriceChanged();\r
3303                                 }\r
3304                         }\r
3305                 }\r
3306                 \r
3307                 [Column(Storage="_unitsInStock", Name="UnitsInStock", DbType="smallint", AutoSync=AutoSync.Never)]\r
3308                 [DebuggerNonUserCode()]\r
3309                 public System.Nullable<short> UnitsInStock\r
3310                 {\r
3311                         get\r
3312                         {\r
3313                                 return this._unitsInStock;\r
3314                         }\r
3315                         set\r
3316                         {\r
3317                                 if ((_unitsInStock != value))\r
3318                                 {\r
3319                                         this.OnUnitsInStockChanging(value);\r
3320                                         this.SendPropertyChanging();\r
3321                                         this._unitsInStock = value;\r
3322                                         this.SendPropertyChanged("UnitsInStock");\r
3323                                         this.OnUnitsInStockChanged();\r
3324                                 }\r
3325                         }\r
3326                 }\r
3327                 \r
3328                 [Column(Storage="_unitsOnOrder", Name="UnitsOnOrder", DbType="smallint", AutoSync=AutoSync.Never)]\r
3329                 [DebuggerNonUserCode()]\r
3330                 public System.Nullable<short> UnitsOnOrder\r
3331                 {\r
3332                         get\r
3333                         {\r
3334                                 return this._unitsOnOrder;\r
3335                         }\r
3336                         set\r
3337                         {\r
3338                                 if ((_unitsOnOrder != value))\r
3339                                 {\r
3340                                         this.OnUnitsOnOrderChanging(value);\r
3341                                         this.SendPropertyChanging();\r
3342                                         this._unitsOnOrder = value;\r
3343                                         this.SendPropertyChanged("UnitsOnOrder");\r
3344                                         this.OnUnitsOnOrderChanged();\r
3345                                 }\r
3346                         }\r
3347                 }\r
3348                 \r
3349                 #region Children\r
3350                 [Association(Storage="_orderDetails", OtherKey="ProductID", ThisKey="ProductID", Name="FK_Order Details_0")]\r
3351                 [DebuggerNonUserCode()]\r
3352                 public EntitySet<OrderDetail> OrderDetails\r
3353                 {\r
3354                         get\r
3355                         {\r
3356                                 return this._orderDetails;\r
3357                         }\r
3358                         set\r
3359                         {\r
3360                                 this._orderDetails = value;\r
3361                         }\r
3362                 }\r
3363                 #endregion\r
3364                 \r
3365                 #region Parents\r
3366                 [Association(Storage="_supplier", OtherKey="SupplierID", ThisKey="SupplierID", Name="FK_Products_0", IsForeignKey=true)]\r
3367                 [DebuggerNonUserCode()]\r
3368                 public Supplier Supplier\r
3369                 {\r
3370                         get\r
3371                         {\r
3372                                 return this._supplier.Entity;\r
3373                         }\r
3374                         set\r
3375                         {\r
3376                                 if (((this._supplier.Entity == value) \r
3377                                                         == false))\r
3378                                 {\r
3379                                         if ((this._supplier.Entity != null))\r
3380                                         {\r
3381                                                 Supplier previousSupplier = this._supplier.Entity;\r
3382                                                 this._supplier.Entity = null;\r
3383                                                 previousSupplier.Products.Remove(this);\r
3384                                         }\r
3385                                         this._supplier.Entity = value;\r
3386                                         if ((value != null))\r
3387                                         {\r
3388                                                 value.Products.Add(this);\r
3389                                                 _supplierID = value.SupplierID;\r
3390                                         }\r
3391                                         else\r
3392                                         {\r
3393                                                 _supplierID = null;\r
3394                                         }\r
3395                                 }\r
3396                         }\r
3397                 }\r
3398                 \r
3399                 [Association(Storage="_category", OtherKey="CategoryID", ThisKey="CategoryID", Name="FK_Products_1", IsForeignKey=true)]\r
3400                 [DebuggerNonUserCode()]\r
3401                 public Category Category\r
3402                 {\r
3403                         get\r
3404                         {\r
3405                                 return this._category.Entity;\r
3406                         }\r
3407                         set\r
3408                         {\r
3409                                 if (((this._category.Entity == value) \r
3410                                                         == false))\r
3411                                 {\r
3412                                         if ((this._category.Entity != null))\r
3413                                         {\r
3414                                                 Category previousCategory = this._category.Entity;\r
3415                                                 this._category.Entity = null;\r
3416                                                 previousCategory.Products.Remove(this);\r
3417                                         }\r
3418                                         this._category.Entity = value;\r
3419                                         if ((value != null))\r
3420                                         {\r
3421                                                 value.Products.Add(this);\r
3422                                                 _categoryID = value.CategoryID;\r
3423                                         }\r
3424                                         else\r
3425                                         {\r
3426                                                 _categoryID = null;\r
3427                                         }\r
3428                                 }\r
3429                         }\r
3430                 }\r
3431                 #endregion\r
3432                 \r
3433                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
3434                 \r
3435                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
3436                 \r
3437                 protected virtual void SendPropertyChanging()\r
3438                 {\r
3439                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
3440                         if ((h != null))\r
3441                         {\r
3442                                 h(this, emptyChangingEventArgs);\r
3443                         }\r
3444                 }\r
3445                 \r
3446                 protected virtual void SendPropertyChanged(string propertyName)\r
3447                 {\r
3448                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
3449                         if ((h != null))\r
3450                         {\r
3451                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
3452                         }\r
3453                 }\r
3454                 \r
3455                 public override int GetHashCode()\r
3456                 {\r
3457                         int hc = 0;\r
3458                         hc = (hc \r
3459                                                 | (_productID.GetHashCode() * 1));\r
3460                         return hc;\r
3461                 }\r
3462                 \r
3463                 public override bool Equals(object value)\r
3464                 {\r
3465                         if ((value == null))\r
3466                         {\r
3467                                 return false;\r
3468                         }\r
3469                         if (((value.GetType() == this.GetType()) \r
3470                                                 == false))\r
3471                         {\r
3472                                 return false;\r
3473                         }\r
3474                         Product other = ((Product)(value));\r
3475                         return this.Equals(other);\r
3476                 }\r
3477                 \r
3478                 public virtual bool Equals(Product value)\r
3479                 {\r
3480                         if ((value == null))\r
3481                         {\r
3482                                 return false;\r
3483                         }\r
3484                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._productID, value._productID);\r
3485                 }\r
3486                 \r
3487                 #region Attachment handlers\r
3488                 private void OrderDetails_Attach(OrderDetail entity)\r
3489                 {\r
3490                         this.SendPropertyChanging();\r
3491                         entity.Product = this;\r
3492                 }\r
3493                 \r
3494                 private void OrderDetails_Detach(OrderDetail entity)\r
3495                 {\r
3496                         this.SendPropertyChanging();\r
3497                         entity.Product = null;\r
3498                 }\r
3499                 #endregion\r
3500         }\r
3501         \r
3502         [Table(Name="Region")]\r
3503         public partial class Region : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Region>\r
3504         {\r
3505                 \r
3506                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
3507                 \r
3508                 private string _regionDescription;\r
3509                 \r
3510                 private long _regionID;\r
3511                 \r
3512                 private EntitySet<Territory> _territories;\r
3513                 \r
3514                 #region Extensibility Method Declarations\r
3515                 partial void OnCreated();\r
3516                 \r
3517                 partial void OnRegionDescriptionChanged();\r
3518                 \r
3519                 partial void OnRegionDescriptionChanging(string value);\r
3520                 \r
3521                 partial void OnRegionIDChanged();\r
3522                 \r
3523                 partial void OnRegionIDChanging(long value);\r
3524                 #endregion\r
3525                 \r
3526                 \r
3527                 public Region()\r
3528                 {\r
3529                         _territories = new EntitySet<Territory>(new Action<Territory>(this.Territories_Attach), new Action<Territory>(this.Territories_Detach));\r
3530                         this.OnCreated();\r
3531                 }\r
3532                 \r
3533                 [Column(Storage="_regionDescription", Name="RegionDescription", DbType="nchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
3534                 [DebuggerNonUserCode()]\r
3535                 public string RegionDescription\r
3536                 {\r
3537                         get\r
3538                         {\r
3539                                 return this._regionDescription;\r
3540                         }\r
3541                         set\r
3542                         {\r
3543                                 if (((_regionDescription == value) \r
3544                                                         == false))\r
3545                                 {\r
3546                                         this.OnRegionDescriptionChanging(value);\r
3547                                         this.SendPropertyChanging();\r
3548                                         this._regionDescription = value;\r
3549                                         this.SendPropertyChanged("RegionDescription");\r
3550                                         this.OnRegionDescriptionChanged();\r
3551                                 }\r
3552                         }\r
3553                 }\r
3554                 \r
3555                 [Column(Storage="_regionID", Name="RegionID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
3556                 [DebuggerNonUserCode()]\r
3557                 public long RegionID\r
3558                 {\r
3559                         get\r
3560                         {\r
3561                                 return this._regionID;\r
3562                         }\r
3563                         set\r
3564                         {\r
3565                                 if ((_regionID != value))\r
3566                                 {\r
3567                                         this.OnRegionIDChanging(value);\r
3568                                         this.SendPropertyChanging();\r
3569                                         this._regionID = value;\r
3570                                         this.SendPropertyChanged("RegionID");\r
3571                                         this.OnRegionIDChanged();\r
3572                                 }\r
3573                         }\r
3574                 }\r
3575                 \r
3576                 #region Children\r
3577                 [Association(Storage="_territories", OtherKey="RegionID", ThisKey="RegionID", Name="FK_Territories_0")]\r
3578                 [DebuggerNonUserCode()]\r
3579                 public EntitySet<Territory> Territories\r
3580                 {\r
3581                         get\r
3582                         {\r
3583                                 return this._territories;\r
3584                         }\r
3585                         set\r
3586                         {\r
3587                                 this._territories = value;\r
3588                         }\r
3589                 }\r
3590                 #endregion\r
3591                 \r
3592                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
3593                 \r
3594                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
3595                 \r
3596                 protected virtual void SendPropertyChanging()\r
3597                 {\r
3598                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
3599                         if ((h != null))\r
3600                         {\r
3601                                 h(this, emptyChangingEventArgs);\r
3602                         }\r
3603                 }\r
3604                 \r
3605                 protected virtual void SendPropertyChanged(string propertyName)\r
3606                 {\r
3607                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
3608                         if ((h != null))\r
3609                         {\r
3610                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
3611                         }\r
3612                 }\r
3613                 \r
3614                 public override int GetHashCode()\r
3615                 {\r
3616                         int hc = 0;\r
3617                         hc = (hc \r
3618                                                 | (_regionID.GetHashCode() * 1));\r
3619                         return hc;\r
3620                 }\r
3621                 \r
3622                 public override bool Equals(object value)\r
3623                 {\r
3624                         if ((value == null))\r
3625                         {\r
3626                                 return false;\r
3627                         }\r
3628                         if (((value.GetType() == this.GetType()) \r
3629                                                 == false))\r
3630                         {\r
3631                                 return false;\r
3632                         }\r
3633                         Region other = ((Region)(value));\r
3634                         return this.Equals(other);\r
3635                 }\r
3636                 \r
3637                 public virtual bool Equals(Region value)\r
3638                 {\r
3639                         if ((value == null))\r
3640                         {\r
3641                                 return false;\r
3642                         }\r
3643                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._regionID, value._regionID);\r
3644                 }\r
3645                 \r
3646                 #region Attachment handlers\r
3647                 private void Territories_Attach(Territory entity)\r
3648                 {\r
3649                         this.SendPropertyChanging();\r
3650                         entity.Region = this;\r
3651                 }\r
3652                 \r
3653                 private void Territories_Detach(Territory entity)\r
3654                 {\r
3655                         this.SendPropertyChanging();\r
3656                         entity.Region = null;\r
3657                 }\r
3658                 #endregion\r
3659         }\r
3660         \r
3661         [Table(Name="Shippers")]\r
3662         public partial class Shipper : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Shipper>\r
3663         {\r
3664                 \r
3665                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
3666                 \r
3667                 private string _companyName;\r
3668                 \r
3669                 private string _phone;\r
3670                 \r
3671                 private long _shipperID;\r
3672                 \r
3673                 private EntitySet<Order> _orders;\r
3674                 \r
3675                 #region Extensibility Method Declarations\r
3676                 partial void OnCreated();\r
3677                 \r
3678                 partial void OnCompanyNameChanged();\r
3679                 \r
3680                 partial void OnCompanyNameChanging(string value);\r
3681                 \r
3682                 partial void OnPhoneChanged();\r
3683                 \r
3684                 partial void OnPhoneChanging(string value);\r
3685                 \r
3686                 partial void OnShipperIDChanged();\r
3687                 \r
3688                 partial void OnShipperIDChanging(long value);\r
3689                 #endregion\r
3690                 \r
3691                 \r
3692                 public Shipper()\r
3693                 {\r
3694                         _orders = new EntitySet<Order>(new Action<Order>(this.Orders_Attach), new Action<Order>(this.Orders_Detach));\r
3695                         this.OnCreated();\r
3696                 }\r
3697                 \r
3698                 [Column(Storage="_companyName", Name="CompanyName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
3699                 [DebuggerNonUserCode()]\r
3700                 public string CompanyName\r
3701                 {\r
3702                         get\r
3703                         {\r
3704                                 return this._companyName;\r
3705                         }\r
3706                         set\r
3707                         {\r
3708                                 if (((_companyName == value) \r
3709                                                         == false))\r
3710                                 {\r
3711                                         this.OnCompanyNameChanging(value);\r
3712                                         this.SendPropertyChanging();\r
3713                                         this._companyName = value;\r
3714                                         this.SendPropertyChanged("CompanyName");\r
3715                                         this.OnCompanyNameChanged();\r
3716                                 }\r
3717                         }\r
3718                 }\r
3719                 \r
3720                 [Column(Storage="_phone", Name="Phone", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
3721                 [DebuggerNonUserCode()]\r
3722                 public string Phone\r
3723                 {\r
3724                         get\r
3725                         {\r
3726                                 return this._phone;\r
3727                         }\r
3728                         set\r
3729                         {\r
3730                                 if (((_phone == value) \r
3731                                                         == false))\r
3732                                 {\r
3733                                         this.OnPhoneChanging(value);\r
3734                                         this.SendPropertyChanging();\r
3735                                         this._phone = value;\r
3736                                         this.SendPropertyChanged("Phone");\r
3737                                         this.OnPhoneChanged();\r
3738                                 }\r
3739                         }\r
3740                 }\r
3741                 \r
3742                 [Column(Storage="_shipperID", Name="ShipperID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
3743                 [DebuggerNonUserCode()]\r
3744                 public long ShipperID\r
3745                 {\r
3746                         get\r
3747                         {\r
3748                                 return this._shipperID;\r
3749                         }\r
3750                         set\r
3751                         {\r
3752                                 if ((_shipperID != value))\r
3753                                 {\r
3754                                         this.OnShipperIDChanging(value);\r
3755                                         this.SendPropertyChanging();\r
3756                                         this._shipperID = value;\r
3757                                         this.SendPropertyChanged("ShipperID");\r
3758                                         this.OnShipperIDChanged();\r
3759                                 }\r
3760                         }\r
3761                 }\r
3762                 \r
3763                 #region Children\r
3764                 [Association(Storage="_orders", OtherKey="ShipVia", ThisKey="ShipperID", Name="FK_Orders_0")]\r
3765                 [DebuggerNonUserCode()]\r
3766                 public EntitySet<Order> Orders\r
3767                 {\r
3768                         get\r
3769                         {\r
3770                                 return this._orders;\r
3771                         }\r
3772                         set\r
3773                         {\r
3774                                 this._orders = value;\r
3775                         }\r
3776                 }\r
3777                 #endregion\r
3778                 \r
3779                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
3780                 \r
3781                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
3782                 \r
3783                 protected virtual void SendPropertyChanging()\r
3784                 {\r
3785                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
3786                         if ((h != null))\r
3787                         {\r
3788                                 h(this, emptyChangingEventArgs);\r
3789                         }\r
3790                 }\r
3791                 \r
3792                 protected virtual void SendPropertyChanged(string propertyName)\r
3793                 {\r
3794                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
3795                         if ((h != null))\r
3796                         {\r
3797                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
3798                         }\r
3799                 }\r
3800                 \r
3801                 public override int GetHashCode()\r
3802                 {\r
3803                         int hc = 0;\r
3804                         hc = (hc \r
3805                                                 | (_shipperID.GetHashCode() * 1));\r
3806                         return hc;\r
3807                 }\r
3808                 \r
3809                 public override bool Equals(object value)\r
3810                 {\r
3811                         if ((value == null))\r
3812                         {\r
3813                                 return false;\r
3814                         }\r
3815                         if (((value.GetType() == this.GetType()) \r
3816                                                 == false))\r
3817                         {\r
3818                                 return false;\r
3819                         }\r
3820                         Shipper other = ((Shipper)(value));\r
3821                         return this.Equals(other);\r
3822                 }\r
3823                 \r
3824                 public virtual bool Equals(Shipper value)\r
3825                 {\r
3826                         if ((value == null))\r
3827                         {\r
3828                                 return false;\r
3829                         }\r
3830                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._shipperID, value._shipperID);\r
3831                 }\r
3832                 \r
3833                 #region Attachment handlers\r
3834                 private void Orders_Attach(Order entity)\r
3835                 {\r
3836                         this.SendPropertyChanging();\r
3837                         entity.Shipper = this;\r
3838                 }\r
3839                 \r
3840                 private void Orders_Detach(Order entity)\r
3841                 {\r
3842                         this.SendPropertyChanging();\r
3843                         entity.Shipper = null;\r
3844                 }\r
3845                 #endregion\r
3846         }\r
3847         \r
3848         [Table(Name="Suppliers")]\r
3849         public partial class Supplier : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Supplier>\r
3850         {\r
3851                 \r
3852                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
3853                 \r
3854                 private string _address;\r
3855                 \r
3856                 private string _city;\r
3857                 \r
3858                 private string _companyName;\r
3859                 \r
3860                 private string _contactName;\r
3861                 \r
3862                 private string _contactTitle;\r
3863                 \r
3864                 private string _country;\r
3865                 \r
3866                 private string _fax;\r
3867                 \r
3868                 private string _homePage;\r
3869                 \r
3870                 private string _phone;\r
3871                 \r
3872                 private string _postalCode;\r
3873                 \r
3874                 private string _region;\r
3875                 \r
3876                 private long _supplierID;\r
3877                 \r
3878                 private EntitySet<Product> _products;\r
3879                 \r
3880                 #region Extensibility Method Declarations\r
3881                 partial void OnCreated();\r
3882                 \r
3883                 partial void OnAddressChanged();\r
3884                 \r
3885                 partial void OnAddressChanging(string value);\r
3886                 \r
3887                 partial void OnCityChanged();\r
3888                 \r
3889                 partial void OnCityChanging(string value);\r
3890                 \r
3891                 partial void OnCompanyNameChanged();\r
3892                 \r
3893                 partial void OnCompanyNameChanging(string value);\r
3894                 \r
3895                 partial void OnContactNameChanged();\r
3896                 \r
3897                 partial void OnContactNameChanging(string value);\r
3898                 \r
3899                 partial void OnContactTitleChanged();\r
3900                 \r
3901                 partial void OnContactTitleChanging(string value);\r
3902                 \r
3903                 partial void OnCountryChanged();\r
3904                 \r
3905                 partial void OnCountryChanging(string value);\r
3906                 \r
3907                 partial void OnFaxChanged();\r
3908                 \r
3909                 partial void OnFaxChanging(string value);\r
3910                 \r
3911                 partial void OnHomePageChanged();\r
3912                 \r
3913                 partial void OnHomePageChanging(string value);\r
3914                 \r
3915                 partial void OnPhoneChanged();\r
3916                 \r
3917                 partial void OnPhoneChanging(string value);\r
3918                 \r
3919                 partial void OnPostalCodeChanged();\r
3920                 \r
3921                 partial void OnPostalCodeChanging(string value);\r
3922                 \r
3923                 partial void OnRegionChanged();\r
3924                 \r
3925                 partial void OnRegionChanging(string value);\r
3926                 \r
3927                 partial void OnSupplierIDChanged();\r
3928                 \r
3929                 partial void OnSupplierIDChanging(long value);\r
3930                 #endregion\r
3931                 \r
3932                 \r
3933                 public Supplier()\r
3934                 {\r
3935                         _products = new EntitySet<Product>(new Action<Product>(this.Products_Attach), new Action<Product>(this.Products_Detach));\r
3936                         this.OnCreated();\r
3937                 }\r
3938                 \r
3939                 [Column(Storage="_address", Name="Address", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
3940                 [DebuggerNonUserCode()]\r
3941                 public string Address\r
3942                 {\r
3943                         get\r
3944                         {\r
3945                                 return this._address;\r
3946                         }\r
3947                         set\r
3948                         {\r
3949                                 if (((_address == value) \r
3950                                                         == false))\r
3951                                 {\r
3952                                         this.OnAddressChanging(value);\r
3953                                         this.SendPropertyChanging();\r
3954                                         this._address = value;\r
3955                                         this.SendPropertyChanged("Address");\r
3956                                         this.OnAddressChanged();\r
3957                                 }\r
3958                         }\r
3959                 }\r
3960                 \r
3961                 [Column(Storage="_city", Name="City", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
3962                 [DebuggerNonUserCode()]\r
3963                 public string City\r
3964                 {\r
3965                         get\r
3966                         {\r
3967                                 return this._city;\r
3968                         }\r
3969                         set\r
3970                         {\r
3971                                 if (((_city == value) \r
3972                                                         == false))\r
3973                                 {\r
3974                                         this.OnCityChanging(value);\r
3975                                         this.SendPropertyChanging();\r
3976                                         this._city = value;\r
3977                                         this.SendPropertyChanged("City");\r
3978                                         this.OnCityChanged();\r
3979                                 }\r
3980                         }\r
3981                 }\r
3982                 \r
3983                 [Column(Storage="_companyName", Name="CompanyName", DbType="nvarchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
3984                 [DebuggerNonUserCode()]\r
3985                 public string CompanyName\r
3986                 {\r
3987                         get\r
3988                         {\r
3989                                 return this._companyName;\r
3990                         }\r
3991                         set\r
3992                         {\r
3993                                 if (((_companyName == value) \r
3994                                                         == false))\r
3995                                 {\r
3996                                         this.OnCompanyNameChanging(value);\r
3997                                         this.SendPropertyChanging();\r
3998                                         this._companyName = value;\r
3999                                         this.SendPropertyChanged("CompanyName");\r
4000                                         this.OnCompanyNameChanged();\r
4001                                 }\r
4002                         }\r
4003                 }\r
4004                 \r
4005                 [Column(Storage="_contactName", Name="ContactName", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4006                 [DebuggerNonUserCode()]\r
4007                 public string ContactName\r
4008                 {\r
4009                         get\r
4010                         {\r
4011                                 return this._contactName;\r
4012                         }\r
4013                         set\r
4014                         {\r
4015                                 if (((_contactName == value) \r
4016                                                         == false))\r
4017                                 {\r
4018                                         this.OnContactNameChanging(value);\r
4019                                         this.SendPropertyChanging();\r
4020                                         this._contactName = value;\r
4021                                         this.SendPropertyChanged("ContactName");\r
4022                                         this.OnContactNameChanged();\r
4023                                 }\r
4024                         }\r
4025                 }\r
4026                 \r
4027                 [Column(Storage="_contactTitle", Name="ContactTitle", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4028                 [DebuggerNonUserCode()]\r
4029                 public string ContactTitle\r
4030                 {\r
4031                         get\r
4032                         {\r
4033                                 return this._contactTitle;\r
4034                         }\r
4035                         set\r
4036                         {\r
4037                                 if (((_contactTitle == value) \r
4038                                                         == false))\r
4039                                 {\r
4040                                         this.OnContactTitleChanging(value);\r
4041                                         this.SendPropertyChanging();\r
4042                                         this._contactTitle = value;\r
4043                                         this.SendPropertyChanged("ContactTitle");\r
4044                                         this.OnContactTitleChanged();\r
4045                                 }\r
4046                         }\r
4047                 }\r
4048                 \r
4049                 [Column(Storage="_country", Name="Country", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4050                 [DebuggerNonUserCode()]\r
4051                 public string Country\r
4052                 {\r
4053                         get\r
4054                         {\r
4055                                 return this._country;\r
4056                         }\r
4057                         set\r
4058                         {\r
4059                                 if (((_country == value) \r
4060                                                         == false))\r
4061                                 {\r
4062                                         this.OnCountryChanging(value);\r
4063                                         this.SendPropertyChanging();\r
4064                                         this._country = value;\r
4065                                         this.SendPropertyChanged("Country");\r
4066                                         this.OnCountryChanged();\r
4067                                 }\r
4068                         }\r
4069                 }\r
4070                 \r
4071                 [Column(Storage="_fax", Name="Fax", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4072                 [DebuggerNonUserCode()]\r
4073                 public string Fax\r
4074                 {\r
4075                         get\r
4076                         {\r
4077                                 return this._fax;\r
4078                         }\r
4079                         set\r
4080                         {\r
4081                                 if (((_fax == value) \r
4082                                                         == false))\r
4083                                 {\r
4084                                         this.OnFaxChanging(value);\r
4085                                         this.SendPropertyChanging();\r
4086                                         this._fax = value;\r
4087                                         this.SendPropertyChanged("Fax");\r
4088                                         this.OnFaxChanged();\r
4089                                 }\r
4090                         }\r
4091                 }\r
4092                 \r
4093                 [Column(Storage="_homePage", Name="HomePage", DbType="ntext", AutoSync=AutoSync.Never)]\r
4094                 [DebuggerNonUserCode()]\r
4095                 public string HomePage\r
4096                 {\r
4097                         get\r
4098                         {\r
4099                                 return this._homePage;\r
4100                         }\r
4101                         set\r
4102                         {\r
4103                                 if (((_homePage == value) \r
4104                                                         == false))\r
4105                                 {\r
4106                                         this.OnHomePageChanging(value);\r
4107                                         this.SendPropertyChanging();\r
4108                                         this._homePage = value;\r
4109                                         this.SendPropertyChanged("HomePage");\r
4110                                         this.OnHomePageChanged();\r
4111                                 }\r
4112                         }\r
4113                 }\r
4114                 \r
4115                 [Column(Storage="_phone", Name="Phone", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4116                 [DebuggerNonUserCode()]\r
4117                 public string Phone\r
4118                 {\r
4119                         get\r
4120                         {\r
4121                                 return this._phone;\r
4122                         }\r
4123                         set\r
4124                         {\r
4125                                 if (((_phone == value) \r
4126                                                         == false))\r
4127                                 {\r
4128                                         this.OnPhoneChanging(value);\r
4129                                         this.SendPropertyChanging();\r
4130                                         this._phone = value;\r
4131                                         this.SendPropertyChanged("Phone");\r
4132                                         this.OnPhoneChanged();\r
4133                                 }\r
4134                         }\r
4135                 }\r
4136                 \r
4137                 [Column(Storage="_postalCode", Name="PostalCode", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4138                 [DebuggerNonUserCode()]\r
4139                 public string PostalCode\r
4140                 {\r
4141                         get\r
4142                         {\r
4143                                 return this._postalCode;\r
4144                         }\r
4145                         set\r
4146                         {\r
4147                                 if (((_postalCode == value) \r
4148                                                         == false))\r
4149                                 {\r
4150                                         this.OnPostalCodeChanging(value);\r
4151                                         this.SendPropertyChanging();\r
4152                                         this._postalCode = value;\r
4153                                         this.SendPropertyChanged("PostalCode");\r
4154                                         this.OnPostalCodeChanged();\r
4155                                 }\r
4156                         }\r
4157                 }\r
4158                 \r
4159                 [Column(Storage="_region", Name="Region", DbType="nvarchar", AutoSync=AutoSync.Never)]\r
4160                 [DebuggerNonUserCode()]\r
4161                 public string Region\r
4162                 {\r
4163                         get\r
4164                         {\r
4165                                 return this._region;\r
4166                         }\r
4167                         set\r
4168                         {\r
4169                                 if (((_region == value) \r
4170                                                         == false))\r
4171                                 {\r
4172                                         this.OnRegionChanging(value);\r
4173                                         this.SendPropertyChanging();\r
4174                                         this._region = value;\r
4175                                         this.SendPropertyChanged("Region");\r
4176                                         this.OnRegionChanged();\r
4177                                 }\r
4178                         }\r
4179                 }\r
4180                 \r
4181                 [Column(Storage="_supplierID", Name="SupplierID", DbType="integer", IsPrimaryKey=true, IsDbGenerated=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
4182                 [DebuggerNonUserCode()]\r
4183                 public long SupplierID\r
4184                 {\r
4185                         get\r
4186                         {\r
4187                                 return this._supplierID;\r
4188                         }\r
4189                         set\r
4190                         {\r
4191                                 if ((_supplierID != value))\r
4192                                 {\r
4193                                         this.OnSupplierIDChanging(value);\r
4194                                         this.SendPropertyChanging();\r
4195                                         this._supplierID = value;\r
4196                                         this.SendPropertyChanged("SupplierID");\r
4197                                         this.OnSupplierIDChanged();\r
4198                                 }\r
4199                         }\r
4200                 }\r
4201                 \r
4202                 #region Children\r
4203                 [Association(Storage="_products", OtherKey="SupplierID", ThisKey="SupplierID", Name="FK_Products_0")]\r
4204                 [DebuggerNonUserCode()]\r
4205                 public EntitySet<Product> Products\r
4206                 {\r
4207                         get\r
4208                         {\r
4209                                 return this._products;\r
4210                         }\r
4211                         set\r
4212                         {\r
4213                                 this._products = value;\r
4214                         }\r
4215                 }\r
4216                 #endregion\r
4217                 \r
4218                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
4219                 \r
4220                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
4221                 \r
4222                 protected virtual void SendPropertyChanging()\r
4223                 {\r
4224                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
4225                         if ((h != null))\r
4226                         {\r
4227                                 h(this, emptyChangingEventArgs);\r
4228                         }\r
4229                 }\r
4230                 \r
4231                 protected virtual void SendPropertyChanged(string propertyName)\r
4232                 {\r
4233                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
4234                         if ((h != null))\r
4235                         {\r
4236                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
4237                         }\r
4238                 }\r
4239                 \r
4240                 public override int GetHashCode()\r
4241                 {\r
4242                         int hc = 0;\r
4243                         hc = (hc \r
4244                                                 | (_supplierID.GetHashCode() * 1));\r
4245                         return hc;\r
4246                 }\r
4247                 \r
4248                 public override bool Equals(object value)\r
4249                 {\r
4250                         if ((value == null))\r
4251                         {\r
4252                                 return false;\r
4253                         }\r
4254                         if (((value.GetType() == this.GetType()) \r
4255                                                 == false))\r
4256                         {\r
4257                                 return false;\r
4258                         }\r
4259                         Supplier other = ((Supplier)(value));\r
4260                         return this.Equals(other);\r
4261                 }\r
4262                 \r
4263                 public virtual bool Equals(Supplier value)\r
4264                 {\r
4265                         if ((value == null))\r
4266                         {\r
4267                                 return false;\r
4268                         }\r
4269                         return System.Collections.Generic.EqualityComparer<long>.Default.Equals(this._supplierID, value._supplierID);\r
4270                 }\r
4271                 \r
4272                 #region Attachment handlers\r
4273                 private void Products_Attach(Product entity)\r
4274                 {\r
4275                         this.SendPropertyChanging();\r
4276                         entity.Supplier = this;\r
4277                 }\r
4278                 \r
4279                 private void Products_Detach(Product entity)\r
4280                 {\r
4281                         this.SendPropertyChanging();\r
4282                         entity.Supplier = null;\r
4283                 }\r
4284                 #endregion\r
4285         }\r
4286         \r
4287         [Table(Name="Territories")]\r
4288         public partial class Territory : System.ComponentModel.INotifyPropertyChanging, System.ComponentModel.INotifyPropertyChanged, System.IEquatable<Territory>\r
4289         {\r
4290                 \r
4291                 private static System.ComponentModel.PropertyChangingEventArgs emptyChangingEventArgs = new System.ComponentModel.PropertyChangingEventArgs("");\r
4292                 \r
4293                 private long _regionID;\r
4294                 \r
4295                 private string _territoryDescription;\r
4296                 \r
4297                 private string _territoryID;\r
4298                 \r
4299                 private EntitySet<EmployeeTerritory> _employeeTerritories;\r
4300                 \r
4301                 private EntityRef<Region> _region = new EntityRef<Region>();\r
4302                 \r
4303                 #region Extensibility Method Declarations\r
4304                 partial void OnCreated();\r
4305                 \r
4306                 partial void OnRegionIDChanged();\r
4307                 \r
4308                 partial void OnRegionIDChanging(long value);\r
4309                 \r
4310                 partial void OnTerritoryDescriptionChanged();\r
4311                 \r
4312                 partial void OnTerritoryDescriptionChanging(string value);\r
4313                 \r
4314                 partial void OnTerritoryIDChanged();\r
4315                 \r
4316                 partial void OnTerritoryIDChanging(string value);\r
4317                 #endregion\r
4318                 \r
4319                 \r
4320                 public Territory()\r
4321                 {\r
4322                         _employeeTerritories = new EntitySet<EmployeeTerritory>(new Action<EmployeeTerritory>(this.EmployeeTerritories_Attach), new Action<EmployeeTerritory>(this.EmployeeTerritories_Detach));\r
4323                         this.OnCreated();\r
4324                 }\r
4325                 \r
4326                 [Column(Storage="_regionID", Name="RegionID", DbType="integer", AutoSync=AutoSync.Never, CanBeNull=false)]\r
4327                 [DebuggerNonUserCode()]\r
4328                 public long RegionID\r
4329                 {\r
4330                         get\r
4331                         {\r
4332                                 return this._regionID;\r
4333                         }\r
4334                         set\r
4335                         {\r
4336                                 if ((_regionID != value))\r
4337                                 {\r
4338                                         if (_region.HasLoadedOrAssignedValue)\r
4339                                         {\r
4340                                                 throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();\r
4341                                         }\r
4342                                         this.OnRegionIDChanging(value);\r
4343                                         this.SendPropertyChanging();\r
4344                                         this._regionID = value;\r
4345                                         this.SendPropertyChanged("RegionID");\r
4346                                         this.OnRegionIDChanged();\r
4347                                 }\r
4348                         }\r
4349                 }\r
4350                 \r
4351                 [Column(Storage="_territoryDescription", Name="TerritoryDescription", DbType="nchar", AutoSync=AutoSync.Never, CanBeNull=false)]\r
4352                 [DebuggerNonUserCode()]\r
4353                 public string TerritoryDescription\r
4354                 {\r
4355                         get\r
4356                         {\r
4357                                 return this._territoryDescription;\r
4358                         }\r
4359                         set\r
4360                         {\r
4361                                 if (((_territoryDescription == value) \r
4362                                                         == false))\r
4363                                 {\r
4364                                         this.OnTerritoryDescriptionChanging(value);\r
4365                                         this.SendPropertyChanging();\r
4366                                         this._territoryDescription = value;\r
4367                                         this.SendPropertyChanged("TerritoryDescription");\r
4368                                         this.OnTerritoryDescriptionChanged();\r
4369                                 }\r
4370                         }\r
4371                 }\r
4372                 \r
4373                 [Column(Storage="_territoryID", Name="TerritoryID", DbType="nvarchar", IsPrimaryKey=true, AutoSync=AutoSync.Never, CanBeNull=false)]\r
4374                 [DebuggerNonUserCode()]\r
4375                 public string TerritoryID\r
4376                 {\r
4377                         get\r
4378                         {\r
4379                                 return this._territoryID;\r
4380                         }\r
4381                         set\r
4382                         {\r
4383                                 if (((_territoryID == value) \r
4384                                                         == false))\r
4385                                 {\r
4386                                         this.OnTerritoryIDChanging(value);\r
4387                                         this.SendPropertyChanging();\r
4388                                         this._territoryID = value;\r
4389                                         this.SendPropertyChanged("TerritoryID");\r
4390                                         this.OnTerritoryIDChanged();\r
4391                                 }\r
4392                         }\r
4393                 }\r
4394                 \r
4395                 #region Children\r
4396                 [Association(Storage="_employeeTerritories", OtherKey="TerritoryID", ThisKey="TerritoryID", Name="FK_EmployeeTerritories_0")]\r
4397                 [DebuggerNonUserCode()]\r
4398                 public EntitySet<EmployeeTerritory> EmployeeTerritories\r
4399                 {\r
4400                         get\r
4401                         {\r
4402                                 return this._employeeTerritories;\r
4403                         }\r
4404                         set\r
4405                         {\r
4406                                 this._employeeTerritories = value;\r
4407                         }\r
4408                 }\r
4409                 #endregion\r
4410                 \r
4411                 #region Parents\r
4412                 [Association(Storage="_region", OtherKey="RegionID", ThisKey="RegionID", Name="FK_Territories_0", IsForeignKey=true)]\r
4413                 [DebuggerNonUserCode()]\r
4414                 public Region Region\r
4415                 {\r
4416                         get\r
4417                         {\r
4418                                 return this._region.Entity;\r
4419                         }\r
4420                         set\r
4421                         {\r
4422                                 if (((this._region.Entity == value) \r
4423                                                         == false))\r
4424                                 {\r
4425                                         if ((this._region.Entity != null))\r
4426                                         {\r
4427                                                 Region previousRegion = this._region.Entity;\r
4428                                                 this._region.Entity = null;\r
4429                                                 previousRegion.Territories.Remove(this);\r
4430                                         }\r
4431                                         this._region.Entity = value;\r
4432                                         if ((value != null))\r
4433                                         {\r
4434                                                 value.Territories.Add(this);\r
4435                                                 _regionID = value.RegionID;\r
4436                                         }\r
4437                                         else\r
4438                                         {\r
4439                                                 _regionID = default(long);\r
4440                                         }\r
4441                                 }\r
4442                         }\r
4443                 }\r
4444                 #endregion\r
4445                 \r
4446                 public event System.ComponentModel.PropertyChangingEventHandler PropertyChanging;\r
4447                 \r
4448                 public event System.ComponentModel.PropertyChangedEventHandler PropertyChanged;\r
4449                 \r
4450                 protected virtual void SendPropertyChanging()\r
4451                 {\r
4452                         System.ComponentModel.PropertyChangingEventHandler h = this.PropertyChanging;\r
4453                         if ((h != null))\r
4454                         {\r
4455                                 h(this, emptyChangingEventArgs);\r
4456                         }\r
4457                 }\r
4458                 \r
4459                 protected virtual void SendPropertyChanged(string propertyName)\r
4460                 {\r
4461                         System.ComponentModel.PropertyChangedEventHandler h = this.PropertyChanged;\r
4462                         if ((h != null))\r
4463                         {\r
4464                                 h(this, new System.ComponentModel.PropertyChangedEventArgs(propertyName));\r
4465                         }\r
4466                 }\r
4467                 \r
4468                 public override int GetHashCode()\r
4469                 {\r
4470                         int hc = 0;\r
4471                         if ((_territoryID != null))\r
4472                         {\r
4473                                 hc = (hc \r
4474                                                         | (_territoryID.GetHashCode() * 1));\r
4475                         }\r
4476                         return hc;\r
4477                 }\r
4478                 \r
4479                 public override bool Equals(object value)\r
4480                 {\r
4481                         if ((value == null))\r
4482                         {\r
4483                                 return false;\r
4484                         }\r
4485                         if (((value.GetType() == this.GetType()) \r
4486                                                 == false))\r
4487                         {\r
4488                                 return false;\r
4489                         }\r
4490                         Territory other = ((Territory)(value));\r
4491                         return this.Equals(other);\r
4492                 }\r
4493                 \r
4494                 public virtual bool Equals(Territory value)\r
4495                 {\r
4496                         if ((value == null))\r
4497                         {\r
4498                                 return false;\r
4499                         }\r
4500                         return System.Collections.Generic.EqualityComparer<string>.Default.Equals(this._territoryID, value._territoryID);\r
4501                 }\r
4502                 \r
4503                 #region Attachment handlers\r
4504                 private void EmployeeTerritories_Attach(EmployeeTerritory entity)\r
4505                 {\r
4506                         this.SendPropertyChanging();\r
4507                         entity.Territory = this;\r
4508                 }\r
4509                 \r
4510                 private void EmployeeTerritories_Detach(EmployeeTerritory entity)\r
4511                 {\r
4512                         this.SendPropertyChanging();\r
4513                         entity.Territory = null;\r
4514                 }\r
4515                 #endregion\r
4516         }\r
4517 }\r