#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.1434
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.Linq;
using System.Data.Linq.Mapping;
using System.Linq;
using System.Linq.Expressions;
using System.Reflection;



[System.Data.Linq.Mapping.DatabaseAttribute(Name="AdventureWorksLT")]
public partial class AwltCustomersDataContext : System.Data.Linq.DataContext
{
	
	private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
	
  #region Extensibility Method Definitions
  partial void OnCreated();
  partial void InsertCustomer(Customer instance);
  partial void UpdateCustomer(Customer instance);
  partial void DeleteCustomer(Customer instance);
  partial void InsertCustomerAddress(CustomerAddress instance);
  partial void UpdateCustomerAddress(CustomerAddress instance);
  partial void DeleteCustomerAddress(CustomerAddress instance);
  partial void InsertAddress(Address instance);
  partial void UpdateAddress(Address instance);
  partial void DeleteAddress(Address instance);
  #endregion
	
	public AwltCustomersDataContext() : 
			base(global::System.Configuration.ConfigurationManager.ConnectionStrings["AdventureWorksLTConnectionString"].ConnectionString, mappingSource)
	{
		OnCreated();
	}
	
	public AwltCustomersDataContext(string connection) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public AwltCustomersDataContext(System.Data.IDbConnection connection) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public AwltCustomersDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public AwltCustomersDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) : 
			base(connection, mappingSource)
	{
		OnCreated();
	}
	
	public System.Data.Linq.Table<Customer> Customers
	{
		get
		{
			return this.GetTable<Customer>();
		}
	}
	
	public System.Data.Linq.Table<CustomerAddress> CustomerAddresses
	{
		get
		{
			return this.GetTable<CustomerAddress>();
		}
	}
	
	public System.Data.Linq.Table<Address> Addresses
	{
		get
		{
			return this.GetTable<Address>();
		}
	}
}

[Table(Name="SalesLT.Customer")]
public partial class Customer : INotifyPropertyChanging, INotifyPropertyChanged
{
	
	private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
	
	private int _CustomerID;
	
	private bool _NameStyle;
	
	private string _Title;
	
	private string _FirstName;
	
	private string _MiddleName;
	
	private string _LastName;
	
	private string _Suffix;
	
	private string _CompanyName;
	
	private string _SalesPerson;
	
	private string _EmailAddress;
	
	private string _Phone;
	
	private string _PasswordHash;
	
	private string _PasswordSalt;
	
	private System.Guid _rowguid;
	
	private System.DateTime _ModifiedDate;
	
	private EntitySet<CustomerAddress> _CustomerAddresses;
	
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnCustomerIDChanging(int value);
    partial void OnCustomerIDChanged();
    partial void OnNameStyleChanging(bool value);
    partial void OnNameStyleChanged();
    partial void OnTitleChanging(string value);
    partial void OnTitleChanged();
    partial void OnFirstNameChanging(string value);
    partial void OnFirstNameChanged();
    partial void OnMiddleNameChanging(string value);
    partial void OnMiddleNameChanged();
    partial void OnLastNameChanging(string value);
    partial void OnLastNameChanged();
    partial void OnSuffixChanging(string value);
    partial void OnSuffixChanged();
    partial void OnCompanyNameChanging(string value);
    partial void OnCompanyNameChanged();
    partial void OnSalesPersonChanging(string value);
    partial void OnSalesPersonChanged();
    partial void OnEmailAddressChanging(string value);
    partial void OnEmailAddressChanged();
    partial void OnPhoneChanging(string value);
    partial void OnPhoneChanged();
    partial void OnPasswordHashChanging(string value);
    partial void OnPasswordHashChanged();
    partial void OnPasswordSaltChanging(string value);
    partial void OnPasswordSaltChanged();
    partial void OnrowguidChanging(System.Guid value);
    partial void OnrowguidChanged();
    partial void OnModifiedDateChanging(System.DateTime value);
    partial void OnModifiedDateChanged();
    #endregion
	
	public Customer()
	{
		this._CustomerAddresses = new EntitySet<CustomerAddress>(new Action<CustomerAddress>(this.attach_CustomerAddresses), new Action<CustomerAddress>(this.detach_CustomerAddresses));
		OnCreated();
	}
	
	[Column(Storage="_CustomerID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
	public int CustomerID
	{
		get
		{
			return this._CustomerID;
		}
		set
		{
			if ((this._CustomerID != value))
			{
				this.OnCustomerIDChanging(value);
				this.SendPropertyChanging();
				this._CustomerID = value;
				this.SendPropertyChanged("CustomerID");
				this.OnCustomerIDChanged();
			}
		}
	}
	
	[Column(Storage="_NameStyle", DbType="Bit NOT NULL")]
	public bool NameStyle
	{
		get
		{
			return this._NameStyle;
		}
		set
		{
			if ((this._NameStyle != value))
			{
				this.OnNameStyleChanging(value);
				this.SendPropertyChanging();
				this._NameStyle = value;
				this.SendPropertyChanged("NameStyle");
				this.OnNameStyleChanged();
			}
		}
	}
	
	[Column(Storage="_Title", DbType="NVarChar(8)")]
	public string Title
	{
		get
		{
			return this._Title;
		}
		set
		{
			if ((this._Title != value))
			{
				this.OnTitleChanging(value);
				this.SendPropertyChanging();
				this._Title = value;
				this.SendPropertyChanged("Title");
				this.OnTitleChanged();
			}
		}
	}
	
	[Column(Storage="_FirstName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
	public string FirstName
	{
		get
		{
			return this._FirstName;
		}
		set
		{
			if ((this._FirstName != value))
			{
				this.OnFirstNameChanging(value);
				this.SendPropertyChanging();
				this._FirstName = value;
				this.SendPropertyChanged("FirstName");
				this.OnFirstNameChanged();
			}
		}
	}
	
	[Column(Storage="_MiddleName", DbType="NVarChar(50)")]
	public string MiddleName
	{
		get
		{
			return this._MiddleName;
		}
		set
		{
			if ((this._MiddleName != value))
			{
				this.OnMiddleNameChanging(value);
				this.SendPropertyChanging();
				this._MiddleName = value;
				this.SendPropertyChanged("MiddleName");
				this.OnMiddleNameChanged();
			}
		}
	}
	
	[Column(Storage="_LastName", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
	public string LastName
	{
		get
		{
			return this._LastName;
		}
		set
		{
			if ((this._LastName != value))
			{
				this.OnLastNameChanging(value);
				this.SendPropertyChanging();
				this._LastName = value;
				this.SendPropertyChanged("LastName");
				this.OnLastNameChanged();
			}
		}
	}
	
	[Column(Storage="_Suffix", DbType="NVarChar(10)")]
	public string Suffix
	{
		get
		{
			return this._Suffix;
		}
		set
		{
			if ((this._Suffix != value))
			{
				this.OnSuffixChanging(value);
				this.SendPropertyChanging();
				this._Suffix = value;
				this.SendPropertyChanged("Suffix");
				this.OnSuffixChanged();
			}
		}
	}
	
	[Column(Storage="_CompanyName", DbType="NVarChar(128)")]
	public string CompanyName
	{
		get
		{
			return this._CompanyName;
		}
		set
		{
			if ((this._CompanyName != value))
			{
				this.OnCompanyNameChanging(value);
				this.SendPropertyChanging();
				this._CompanyName = value;
				this.SendPropertyChanged("CompanyName");
				this.OnCompanyNameChanged();
			}
		}
	}
	
	[Column(Storage="_SalesPerson", DbType="NVarChar(256)")]
	public string SalesPerson
	{
		get
		{
			return this._SalesPerson;
		}
		set
		{
			if ((this._SalesPerson != value))
			{
				this.OnSalesPersonChanging(value);
				this.SendPropertyChanging();
				this._SalesPerson = value;
				this.SendPropertyChanged("SalesPerson");
				this.OnSalesPersonChanged();
			}
		}
	}
	
	[Column(Storage="_EmailAddress", DbType="NVarChar(50)")]
	public string EmailAddress
	{
		get
		{
			return this._EmailAddress;
		}
		set
		{
			if ((this._EmailAddress != value))
			{
				this.OnEmailAddressChanging(value);
				this.SendPropertyChanging();
				this._EmailAddress = value;
				this.SendPropertyChanged("EmailAddress");
				this.OnEmailAddressChanged();
			}
		}
	}
	
	[Column(Storage="_Phone", DbType="NVarChar(25)")]
	public string Phone
	{
		get
		{
			return this._Phone;
		}
		set
		{
			if ((this._Phone != value))
			{
				this.OnPhoneChanging(value);
				this.SendPropertyChanging();
				this._Phone = value;
				this.SendPropertyChanged("Phone");
				this.OnPhoneChanged();
			}
		}
	}
	
	[Column(Storage="_PasswordHash", DbType="VarChar(128) NOT NULL", CanBeNull=false)]
	public string PasswordHash
	{
		get
		{
			return this._PasswordHash;
		}
		set
		{
			if ((this._PasswordHash != value))
			{
				this.OnPasswordHashChanging(value);
				this.SendPropertyChanging();
				this._PasswordHash = value;
				this.SendPropertyChanged("PasswordHash");
				this.OnPasswordHashChanged();
			}
		}
	}
	
	[Column(Storage="_PasswordSalt", DbType="VarChar(10) NOT NULL", CanBeNull=false)]
	public string PasswordSalt
	{
		get
		{
			return this._PasswordSalt;
		}
		set
		{
			if ((this._PasswordSalt != value))
			{
				this.OnPasswordSaltChanging(value);
				this.SendPropertyChanging();
				this._PasswordSalt = value;
				this.SendPropertyChanged("PasswordSalt");
				this.OnPasswordSaltChanged();
			}
		}
	}
	
	[Column(Storage="_rowguid", DbType="UniqueIdentifier NOT NULL")]
	public System.Guid rowguid
	{
		get
		{
			return this._rowguid;
		}
		set
		{
			if ((this._rowguid != value))
			{
				this.OnrowguidChanging(value);
				this.SendPropertyChanging();
				this._rowguid = value;
				this.SendPropertyChanged("rowguid");
				this.OnrowguidChanged();
			}
		}
	}
	
	[Column(Storage="_ModifiedDate", DbType="DateTime NOT NULL")]
	public System.DateTime ModifiedDate
	{
		get
		{
			return this._ModifiedDate;
		}
		set
		{
			if ((this._ModifiedDate != value))
			{
				this.OnModifiedDateChanging(value);
				this.SendPropertyChanging();
				this._ModifiedDate = value;
				this.SendPropertyChanged("ModifiedDate");
				this.OnModifiedDateChanged();
			}
		}
	}
	
	[Association(Name="Customer_CustomerAddress", Storage="_CustomerAddresses", OtherKey="CustomerID")]
	public EntitySet<CustomerAddress> CustomerAddresses
	{
		get
		{
			return this._CustomerAddresses;
		}
		set
		{
			this._CustomerAddresses.Assign(value);
		}
	}
	
	public event PropertyChangingEventHandler PropertyChanging;
	
	public event PropertyChangedEventHandler PropertyChanged;
	
	protected virtual void SendPropertyChanging()
	{
		if ((this.PropertyChanging != null))
		{
			this.PropertyChanging(this, emptyChangingEventArgs);
		}
	}
	
	protected virtual void SendPropertyChanged(String propertyName)
	{
		if ((this.PropertyChanged != null))
		{
			this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
		}
	}
	
	private void attach_CustomerAddresses(CustomerAddress entity)
	{
		this.SendPropertyChanging();
		entity.Customer = this;
	}
	
	private void detach_CustomerAddresses(CustomerAddress entity)
	{
		this.SendPropertyChanging();
		entity.Customer = null;
	}
}

[Table(Name="SalesLT.CustomerAddress")]
public partial class CustomerAddress : INotifyPropertyChanging, INotifyPropertyChanged
{
	
	private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
	
	private int _CustomerID;
	
	private int _AddressID;
	
	private string _AddressType;
	
	private System.Guid _rowguid;
	
	private System.DateTime _ModifiedDate;
	
	private EntityRef<Customer> _Customer;
	
	private EntityRef<Address> _Address;
	
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnCustomerIDChanging(int value);
    partial void OnCustomerIDChanged();
    partial void OnAddressIDChanging(int value);
    partial void OnAddressIDChanged();
    partial void OnAddressTypeChanging(string value);
    partial void OnAddressTypeChanged();
    partial void OnrowguidChanging(System.Guid value);
    partial void OnrowguidChanged();
    partial void OnModifiedDateChanging(System.DateTime value);
    partial void OnModifiedDateChanged();
    #endregion
	
	public CustomerAddress()
	{
		this._Customer = default(EntityRef<Customer>);
		this._Address = default(EntityRef<Address>);
		OnCreated();
	}
	
	[Column(Storage="_CustomerID", DbType="Int NOT NULL", IsPrimaryKey=true)]
	public int CustomerID
	{
		get
		{
			return this._CustomerID;
		}
		set
		{
			if ((this._CustomerID != value))
			{
				if (this._Customer.HasLoadedOrAssignedValue)
				{
					throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
				}
				this.OnCustomerIDChanging(value);
				this.SendPropertyChanging();
				this._CustomerID = value;
				this.SendPropertyChanged("CustomerID");
				this.OnCustomerIDChanged();
			}
		}
	}
	
	[Column(Storage="_AddressID", DbType="Int NOT NULL", IsPrimaryKey=true)]
	public int AddressID
	{
		get
		{
			return this._AddressID;
		}
		set
		{
			if ((this._AddressID != value))
			{
				if (this._Address.HasLoadedOrAssignedValue)
				{
					throw new System.Data.Linq.ForeignKeyReferenceAlreadyHasValueException();
				}
				this.OnAddressIDChanging(value);
				this.SendPropertyChanging();
				this._AddressID = value;
				this.SendPropertyChanged("AddressID");
				this.OnAddressIDChanged();
			}
		}
	}
	
	[Column(Storage="_AddressType", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
	public string AddressType
	{
		get
		{
			return this._AddressType;
		}
		set
		{
			if ((this._AddressType != value))
			{
				this.OnAddressTypeChanging(value);
				this.SendPropertyChanging();
				this._AddressType = value;
				this.SendPropertyChanged("AddressType");
				this.OnAddressTypeChanged();
			}
		}
	}
	
	[Column(Storage="_rowguid", DbType="UniqueIdentifier NOT NULL")]
	public System.Guid rowguid
	{
		get
		{
			return this._rowguid;
		}
		set
		{
			if ((this._rowguid != value))
			{
				this.OnrowguidChanging(value);
				this.SendPropertyChanging();
				this._rowguid = value;
				this.SendPropertyChanged("rowguid");
				this.OnrowguidChanged();
			}
		}
	}
	
	[Column(Storage="_ModifiedDate", DbType="DateTime NOT NULL")]
	public System.DateTime ModifiedDate
	{
		get
		{
			return this._ModifiedDate;
		}
		set
		{
			if ((this._ModifiedDate != value))
			{
				this.OnModifiedDateChanging(value);
				this.SendPropertyChanging();
				this._ModifiedDate = value;
				this.SendPropertyChanged("ModifiedDate");
				this.OnModifiedDateChanged();
			}
		}
	}
	
	[Association(Name="Customer_CustomerAddress", Storage="_Customer", ThisKey="CustomerID", IsForeignKey=true)]
	public Customer Customer
	{
		get
		{
			return this._Customer.Entity;
		}
		set
		{
			Customer previousValue = this._Customer.Entity;
			if (((previousValue != value) 
						|| (this._Customer.HasLoadedOrAssignedValue == false)))
			{
				this.SendPropertyChanging();
				if ((previousValue != null))
				{
					this._Customer.Entity = null;
					previousValue.CustomerAddresses.Remove(this);
				}
				this._Customer.Entity = value;
				if ((value != null))
				{
					value.CustomerAddresses.Add(this);
					this._CustomerID = value.CustomerID;
				}
				else
				{
					this._CustomerID = default(int);
				}
				this.SendPropertyChanged("Customer");
			}
		}
	}
	
	[Association(Name="Address_CustomerAddress", Storage="_Address", ThisKey="AddressID", IsForeignKey=true)]
	public Address Address
	{
		get
		{
			return this._Address.Entity;
		}
		set
		{
			Address previousValue = this._Address.Entity;
			if (((previousValue != value) 
						|| (this._Address.HasLoadedOrAssignedValue == false)))
			{
				this.SendPropertyChanging();
				if ((previousValue != null))
				{
					this._Address.Entity = null;
					previousValue.CustomerAddresses.Remove(this);
				}
				this._Address.Entity = value;
				if ((value != null))
				{
					value.CustomerAddresses.Add(this);
					this._AddressID = value.AddressID;
				}
				else
				{
					this._AddressID = default(int);
				}
				this.SendPropertyChanged("Address");
			}
		}
	}
	
	public event PropertyChangingEventHandler PropertyChanging;
	
	public event PropertyChangedEventHandler PropertyChanged;
	
	protected virtual void SendPropertyChanging()
	{
		if ((this.PropertyChanging != null))
		{
			this.PropertyChanging(this, emptyChangingEventArgs);
		}
	}
	
	protected virtual void SendPropertyChanged(String propertyName)
	{
		if ((this.PropertyChanged != null))
		{
			this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
		}
	}
}

[Table(Name="SalesLT.Address")]
public partial class Address : INotifyPropertyChanging, INotifyPropertyChanged
{
	
	private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
	
	private int _AddressID;
	
	private string _AddressLine1;
	
	private string _AddressLine2;
	
	private string _City;
	
	private string _StateProvince;
	
	private string _CountryRegion;
	
	private string _PostalCode;
	
	private System.Guid _rowguid;
	
	private System.DateTime _ModifiedDate;
	
	private EntitySet<CustomerAddress> _CustomerAddresses;
	
    #region Extensibility Method Definitions
    partial void OnLoaded();
    partial void OnValidate(System.Data.Linq.ChangeAction action);
    partial void OnCreated();
    partial void OnAddressIDChanging(int value);
    partial void OnAddressIDChanged();
    partial void OnAddressLine1Changing(string value);
    partial void OnAddressLine1Changed();
    partial void OnAddressLine2Changing(string value);
    partial void OnAddressLine2Changed();
    partial void OnCityChanging(string value);
    partial void OnCityChanged();
    partial void OnStateProvinceChanging(string value);
    partial void OnStateProvinceChanged();
    partial void OnCountryRegionChanging(string value);
    partial void OnCountryRegionChanged();
    partial void OnPostalCodeChanging(string value);
    partial void OnPostalCodeChanged();
    partial void OnrowguidChanging(System.Guid value);
    partial void OnrowguidChanged();
    partial void OnModifiedDateChanging(System.DateTime value);
    partial void OnModifiedDateChanged();
    #endregion
	
	public Address()
	{
		this._CustomerAddresses = new EntitySet<CustomerAddress>(new Action<CustomerAddress>(this.attach_CustomerAddresses), new Action<CustomerAddress>(this.detach_CustomerAddresses));
		OnCreated();
	}
	
	[Column(Storage="_AddressID", AutoSync=AutoSync.OnInsert, DbType="Int NOT NULL IDENTITY", IsPrimaryKey=true, IsDbGenerated=true)]
	public int AddressID
	{
		get
		{
			return this._AddressID;
		}
		set
		{
			if ((this._AddressID != value))
			{
				this.OnAddressIDChanging(value);
				this.SendPropertyChanging();
				this._AddressID = value;
				this.SendPropertyChanged("AddressID");
				this.OnAddressIDChanged();
			}
		}
	}
	
	[Column(Storage="_AddressLine1", DbType="NVarChar(60) NOT NULL", CanBeNull=false)]
	public string AddressLine1
	{
		get
		{
			return this._AddressLine1;
		}
		set
		{
			if ((this._AddressLine1 != value))
			{
				this.OnAddressLine1Changing(value);
				this.SendPropertyChanging();
				this._AddressLine1 = value;
				this.SendPropertyChanged("AddressLine1");
				this.OnAddressLine1Changed();
			}
		}
	}
	
	[Column(Storage="_AddressLine2", DbType="NVarChar(60)")]
	public string AddressLine2
	{
		get
		{
			return this._AddressLine2;
		}
		set
		{
			if ((this._AddressLine2 != value))
			{
				this.OnAddressLine2Changing(value);
				this.SendPropertyChanging();
				this._AddressLine2 = value;
				this.SendPropertyChanged("AddressLine2");
				this.OnAddressLine2Changed();
			}
		}
	}
	
	[Column(Storage="_City", DbType="NVarChar(30) NOT NULL", CanBeNull=false)]
	public string City
	{
		get
		{
			return this._City;
		}
		set
		{
			if ((this._City != value))
			{
				this.OnCityChanging(value);
				this.SendPropertyChanging();
				this._City = value;
				this.SendPropertyChanged("City");
				this.OnCityChanged();
			}
		}
	}
	
	[Column(Storage="_StateProvince", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
	public string StateProvince
	{
		get
		{
			return this._StateProvince;
		}
		set
		{
			if ((this._StateProvince != value))
			{
				this.OnStateProvinceChanging(value);
				this.SendPropertyChanging();
				this._StateProvince = value;
				this.SendPropertyChanged("StateProvince");
				this.OnStateProvinceChanged();
			}
		}
	}
	
	[Column(Storage="_CountryRegion", DbType="NVarChar(50) NOT NULL", CanBeNull=false)]
	public string CountryRegion
	{
		get
		{
			return this._CountryRegion;
		}
		set
		{
			if ((this._CountryRegion != value))
			{
				this.OnCountryRegionChanging(value);
				this.SendPropertyChanging();
				this._CountryRegion = value;
				this.SendPropertyChanged("CountryRegion");
				this.OnCountryRegionChanged();
			}
		}
	}
	
	[Column(Storage="_PostalCode", DbType="NVarChar(15) NOT NULL", CanBeNull=false)]
	public string PostalCode
	{
		get
		{
			return this._PostalCode;
		}
		set
		{
			if ((this._PostalCode != value))
			{
				this.OnPostalCodeChanging(value);
				this.SendPropertyChanging();
				this._PostalCode = value;
				this.SendPropertyChanged("PostalCode");
				this.OnPostalCodeChanged();
			}
		}
	}
	
	[Column(Storage="_rowguid", DbType="UniqueIdentifier NOT NULL")]
	public System.Guid rowguid
	{
		get
		{
			return this._rowguid;
		}
		set
		{
			if ((this._rowguid != value))
			{
				this.OnrowguidChanging(value);
				this.SendPropertyChanging();
				this._rowguid = value;
				this.SendPropertyChanged("rowguid");
				this.OnrowguidChanged();
			}
		}
	}
	
	[Column(Storage="_ModifiedDate", DbType="DateTime NOT NULL")]
	public System.DateTime ModifiedDate
	{
		get
		{
			return this._ModifiedDate;
		}
		set
		{
			if ((this._ModifiedDate != value))
			{
				this.OnModifiedDateChanging(value);
				this.SendPropertyChanging();
				this._ModifiedDate = value;
				this.SendPropertyChanged("ModifiedDate");
				this.OnModifiedDateChanged();
			}
		}
	}
	
	[Association(Name="Address_CustomerAddress", Storage="_CustomerAddresses", OtherKey="AddressID")]
	public EntitySet<CustomerAddress> CustomerAddresses
	{
		get
		{
			return this._CustomerAddresses;
		}
		set
		{
			this._CustomerAddresses.Assign(value);
		}
	}
	
	public event PropertyChangingEventHandler PropertyChanging;
	
	public event PropertyChangedEventHandler PropertyChanged;
	
	protected virtual void SendPropertyChanging()
	{
		if ((this.PropertyChanging != null))
		{
			this.PropertyChanging(this, emptyChangingEventArgs);
		}
	}
	
	protected virtual void SendPropertyChanged(String propertyName)
	{
		if ((this.PropertyChanged != null))
		{
			this.PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
		}
	}
	
	private void attach_CustomerAddresses(CustomerAddress entity)
	{
		this.SendPropertyChanging();
		entity.Address = this;
	}
	
	private void detach_CustomerAddresses(CustomerAddress entity)
	{
		this.SendPropertyChanging();
		entity.Address = null;
	}
}
#pragma warning restore 1591
