Click here to Skip to main content
15,895,084 members
Articles / Programming Languages / C#

Parsing the Entity Framework EDMX file

Rate me:
Please Sign up or sign in to vote.
4.38/5 (7 votes)
3 Jun 2010CPOL4 min read 58.5K   1.2K   26  
Looking at ways to parse an Entity Framework EDMX file
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Runtime Version:2.0.50727.4062
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

[assembly: global::System.Data.Objects.DataClasses.EdmSchemaAttribute()]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Address_StateProvince_StateProvinceID", "StateProvince", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.StateProvince), "Address", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.Address))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_CustomerAddress_Address_AddressID", "Address", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Address), "CustomerAddress", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.CustomerAddress))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_CustomerAddress_AddressType_AddressTypeID", "AddressType", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.AddressType), "CustomerAddress", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.CustomerAddress))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Individual_Contact_ContactID", "Contact", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Contact), "Individual", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.Individual))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductDocument_Document_DocumentID", "Document", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Document), "ProductDocument", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductDocument))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Product_ProductModel_ProductModelID", "ProductModel", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(EntityModel.ProductModel), "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.Product))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(EntityModel.ProductSubcategory), "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.Product))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductDocument_Product_ProductID", "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Product), "ProductDocument", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductDocument))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductProductPhoto_Product_ProductID", "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Product), "ProductProductPhoto", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductProductPhoto))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_Product_ProductID", "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Product), "PurchaseOrderDetail", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.PurchaseOrderDetail))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_WorkOrder_Product_ProductID", "Product", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Product), "WorkOrder", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.WorkOrder))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.ProductCategory), "ProductSubcategory", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductSubcategory))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.ProductModel), "ProductModelIllustration", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductModelIllustration))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.ProductPhoto), "ProductProductPhoto", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.ProductProductPhoto))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.WorkOrder), "WorkOrderRouting", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.WorkOrderRouting))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.PurchaseOrderHeader), "PurchaseOrderDetail", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.PurchaseOrderDetail))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_CustomerAddress_Customer_CustomerID", "Customer", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Customer), "CustomerAddress", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.CustomerAddress))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Individual_Customer_CustomerID", "Customer", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Customer), "Individual", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(EntityModel.Individual))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_Store_Customer_CustomerID", "Customer", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Customer), "Store", global::System.Data.Metadata.Edm.RelationshipMultiplicity.ZeroOrOne, typeof(EntityModel.Store))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_BillToAddressID", "Address", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Address), "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderHeader))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_ShipToAddressID", "Address", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Address), "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderHeader))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Contact_ContactID", "Contact", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Contact), "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderHeader))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Customer_CustomerID", "Customer", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.Customer), "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderHeader))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.SalesOrderHeader), "SalesOrderDetail", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderDetail))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.ShipMethod), "PurchaseOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.PurchaseOrderHeader))]
[assembly: global::System.Data.Objects.DataClasses.EdmRelationshipAttribute("AdventureWorksModel", "FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod", global::System.Data.Metadata.Edm.RelationshipMultiplicity.One, typeof(EntityModel.ShipMethod), "SalesOrderHeader", global::System.Data.Metadata.Edm.RelationshipMultiplicity.Many, typeof(EntityModel.SalesOrderHeader))]

// Original file name:
// Generation date: 5/21/2010 6:02:52 PM
namespace EntityModel
{
    
    /// <summary>
    /// There are no comments for AdventureWorksEntities in the schema.
    /// </summary>
    public partial class AdventureWorksEntities : global::System.Data.Objects.ObjectContext
    {
        /// <summary>
        /// Initializes a new AdventureWorksEntities object using the connection string found in the 'AdventureWorksEntities' section of the application configuration file.
        /// </summary>
        public AdventureWorksEntities() : 
                base("name=AdventureWorksEntities", "AdventureWorksEntities")
        {
            this.OnContextCreated();
        }
        /// <summary>
        /// Initialize a new AdventureWorksEntities object.
        /// </summary>
        public AdventureWorksEntities(string connectionString) : 
                base(connectionString, "AdventureWorksEntities")
        {
            this.OnContextCreated();
        }
        /// <summary>
        /// Initialize a new AdventureWorksEntities object.
        /// </summary>
        public AdventureWorksEntities(global::System.Data.EntityClient.EntityConnection connection) : 
                base(connection, "AdventureWorksEntities")
        {
            this.OnContextCreated();
        }
        partial void OnContextCreated();
        /// <summary>
        /// There are no comments for Addresses in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Address> Addresses
        {
            get
            {
                if ((this._Addresses == null))
                {
                    this._Addresses = base.CreateQuery<Address>("[Addresses]");
                }
                return this._Addresses;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Address> _Addresses;
        /// <summary>
        /// There are no comments for AddressTypes in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<AddressType> AddressTypes
        {
            get
            {
                if ((this._AddressTypes == null))
                {
                    this._AddressTypes = base.CreateQuery<AddressType>("[AddressTypes]");
                }
                return this._AddressTypes;
            }
        }
        private global::System.Data.Objects.ObjectQuery<AddressType> _AddressTypes;
        /// <summary>
        /// There are no comments for Contacts in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Contact> Contacts
        {
            get
            {
                if ((this._Contacts == null))
                {
                    this._Contacts = base.CreateQuery<Contact>("[Contacts]");
                }
                return this._Contacts;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Contact> _Contacts;
        /// <summary>
        /// There are no comments for StateProvinces in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<StateProvince> StateProvinces
        {
            get
            {
                if ((this._StateProvinces == null))
                {
                    this._StateProvinces = base.CreateQuery<StateProvince>("[StateProvinces]");
                }
                return this._StateProvinces;
            }
        }
        private global::System.Data.Objects.ObjectQuery<StateProvince> _StateProvinces;
        /// <summary>
        /// There are no comments for Documents in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Document> Documents
        {
            get
            {
                if ((this._Documents == null))
                {
                    this._Documents = base.CreateQuery<Document>("[Documents]");
                }
                return this._Documents;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Document> _Documents;
        /// <summary>
        /// There are no comments for Products in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Product> Products
        {
            get
            {
                if ((this._Products == null))
                {
                    this._Products = base.CreateQuery<Product>("[Products]");
                }
                return this._Products;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Product> _Products;
        /// <summary>
        /// There are no comments for ProductCategories in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductCategory> ProductCategories
        {
            get
            {
                if ((this._ProductCategories == null))
                {
                    this._ProductCategories = base.CreateQuery<ProductCategory>("[ProductCategories]");
                }
                return this._ProductCategories;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductCategory> _ProductCategories;
        /// <summary>
        /// There are no comments for ProductDocuments in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductDocument> ProductDocuments
        {
            get
            {
                if ((this._ProductDocuments == null))
                {
                    this._ProductDocuments = base.CreateQuery<ProductDocument>("[ProductDocuments]");
                }
                return this._ProductDocuments;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductDocument> _ProductDocuments;
        /// <summary>
        /// There are no comments for ProductModels in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductModel> ProductModels
        {
            get
            {
                if ((this._ProductModels == null))
                {
                    this._ProductModels = base.CreateQuery<ProductModel>("[ProductModels]");
                }
                return this._ProductModels;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductModel> _ProductModels;
        /// <summary>
        /// There are no comments for ProductModelIllustrations in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductModelIllustration> ProductModelIllustrations
        {
            get
            {
                if ((this._ProductModelIllustrations == null))
                {
                    this._ProductModelIllustrations = base.CreateQuery<ProductModelIllustration>("[ProductModelIllustrations]");
                }
                return this._ProductModelIllustrations;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductModelIllustration> _ProductModelIllustrations;
        /// <summary>
        /// There are no comments for ProductPhotos in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductPhoto> ProductPhotos
        {
            get
            {
                if ((this._ProductPhotos == null))
                {
                    this._ProductPhotos = base.CreateQuery<ProductPhoto>("[ProductPhotos]");
                }
                return this._ProductPhotos;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductPhoto> _ProductPhotos;
        /// <summary>
        /// There are no comments for ProductProductPhotos in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductProductPhoto> ProductProductPhotos
        {
            get
            {
                if ((this._ProductProductPhotos == null))
                {
                    this._ProductProductPhotos = base.CreateQuery<ProductProductPhoto>("[ProductProductPhotos]");
                }
                return this._ProductProductPhotos;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductProductPhoto> _ProductProductPhotos;
        /// <summary>
        /// There are no comments for ProductSubcategories in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ProductSubcategory> ProductSubcategories
        {
            get
            {
                if ((this._ProductSubcategories == null))
                {
                    this._ProductSubcategories = base.CreateQuery<ProductSubcategory>("[ProductSubcategories]");
                }
                return this._ProductSubcategories;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ProductSubcategory> _ProductSubcategories;
        /// <summary>
        /// There are no comments for WorkOrders in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<WorkOrder> WorkOrders
        {
            get
            {
                if ((this._WorkOrders == null))
                {
                    this._WorkOrders = base.CreateQuery<WorkOrder>("[WorkOrders]");
                }
                return this._WorkOrders;
            }
        }
        private global::System.Data.Objects.ObjectQuery<WorkOrder> _WorkOrders;
        /// <summary>
        /// There are no comments for WorkOrderRoutings in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<WorkOrderRouting> WorkOrderRoutings
        {
            get
            {
                if ((this._WorkOrderRoutings == null))
                {
                    this._WorkOrderRoutings = base.CreateQuery<WorkOrderRouting>("[WorkOrderRoutings]");
                }
                return this._WorkOrderRoutings;
            }
        }
        private global::System.Data.Objects.ObjectQuery<WorkOrderRouting> _WorkOrderRoutings;
        /// <summary>
        /// There are no comments for PurchaseOrderDetails in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<PurchaseOrderDetail> PurchaseOrderDetails
        {
            get
            {
                if ((this._PurchaseOrderDetails == null))
                {
                    this._PurchaseOrderDetails = base.CreateQuery<PurchaseOrderDetail>("[PurchaseOrderDetails]");
                }
                return this._PurchaseOrderDetails;
            }
        }
        private global::System.Data.Objects.ObjectQuery<PurchaseOrderDetail> _PurchaseOrderDetails;
        /// <summary>
        /// There are no comments for PurchaseOrderHeaders in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<PurchaseOrderHeader> PurchaseOrderHeaders
        {
            get
            {
                if ((this._PurchaseOrderHeaders == null))
                {
                    this._PurchaseOrderHeaders = base.CreateQuery<PurchaseOrderHeader>("[PurchaseOrderHeaders]");
                }
                return this._PurchaseOrderHeaders;
            }
        }
        private global::System.Data.Objects.ObjectQuery<PurchaseOrderHeader> _PurchaseOrderHeaders;
        /// <summary>
        /// There are no comments for Customers in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Customer> Customers
        {
            get
            {
                if ((this._Customers == null))
                {
                    this._Customers = base.CreateQuery<Customer>("[Customers]");
                }
                return this._Customers;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Customer> _Customers;
        /// <summary>
        /// There are no comments for CustomerAddresses in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<CustomerAddress> CustomerAddresses
        {
            get
            {
                if ((this._CustomerAddresses == null))
                {
                    this._CustomerAddresses = base.CreateQuery<CustomerAddress>("[CustomerAddresses]");
                }
                return this._CustomerAddresses;
            }
        }
        private global::System.Data.Objects.ObjectQuery<CustomerAddress> _CustomerAddresses;
        /// <summary>
        /// There are no comments for Individuals in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Individual> Individuals
        {
            get
            {
                if ((this._Individuals == null))
                {
                    this._Individuals = base.CreateQuery<Individual>("[Individuals]");
                }
                return this._Individuals;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Individual> _Individuals;
        /// <summary>
        /// There are no comments for Stores in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<Store> Stores
        {
            get
            {
                if ((this._Stores == null))
                {
                    this._Stores = base.CreateQuery<Store>("[Stores]");
                }
                return this._Stores;
            }
        }
        private global::System.Data.Objects.ObjectQuery<Store> _Stores;
        /// <summary>
        /// There are no comments for SalesOrderDetails in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<SalesOrderDetail> SalesOrderDetails
        {
            get
            {
                if ((this._SalesOrderDetails == null))
                {
                    this._SalesOrderDetails = base.CreateQuery<SalesOrderDetail>("[SalesOrderDetails]");
                }
                return this._SalesOrderDetails;
            }
        }
        private global::System.Data.Objects.ObjectQuery<SalesOrderDetail> _SalesOrderDetails;
        /// <summary>
        /// There are no comments for SalesOrderHeaders in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<SalesOrderHeader> SalesOrderHeaders
        {
            get
            {
                if ((this._SalesOrderHeaders == null))
                {
                    this._SalesOrderHeaders = base.CreateQuery<SalesOrderHeader>("[SalesOrderHeaders]");
                }
                return this._SalesOrderHeaders;
            }
        }
        private global::System.Data.Objects.ObjectQuery<SalesOrderHeader> _SalesOrderHeaders;
        /// <summary>
        /// There are no comments for ShipMethods in the schema.
        /// </summary>
        public global::System.Data.Objects.ObjectQuery<ShipMethod> ShipMethods
        {
            get
            {
                if ((this._ShipMethods == null))
                {
                    this._ShipMethods = base.CreateQuery<ShipMethod>("[ShipMethods]");
                }
                return this._ShipMethods;
            }
        }
        private global::System.Data.Objects.ObjectQuery<ShipMethod> _ShipMethods;
        /// <summary>
        /// There are no comments for Addresses in the schema.
        /// </summary>
        public void AddToAddresses(Address address)
        {
            base.AddObject("Addresses", address);
        }
        /// <summary>
        /// There are no comments for AddressTypes in the schema.
        /// </summary>
        public void AddToAddressTypes(AddressType addressType)
        {
            base.AddObject("AddressTypes", addressType);
        }
        /// <summary>
        /// There are no comments for Contacts in the schema.
        /// </summary>
        public void AddToContacts(Contact contact)
        {
            base.AddObject("Contacts", contact);
        }
        /// <summary>
        /// There are no comments for StateProvinces in the schema.
        /// </summary>
        public void AddToStateProvinces(StateProvince stateProvince)
        {
            base.AddObject("StateProvinces", stateProvince);
        }
        /// <summary>
        /// There are no comments for Documents in the schema.
        /// </summary>
        public void AddToDocuments(Document document)
        {
            base.AddObject("Documents", document);
        }
        /// <summary>
        /// There are no comments for Products in the schema.
        /// </summary>
        public void AddToProducts(Product product)
        {
            base.AddObject("Products", product);
        }
        /// <summary>
        /// There are no comments for ProductCategories in the schema.
        /// </summary>
        public void AddToProductCategories(ProductCategory productCategory)
        {
            base.AddObject("ProductCategories", productCategory);
        }
        /// <summary>
        /// There are no comments for ProductDocuments in the schema.
        /// </summary>
        public void AddToProductDocuments(ProductDocument productDocument)
        {
            base.AddObject("ProductDocuments", productDocument);
        }
        /// <summary>
        /// There are no comments for ProductModels in the schema.
        /// </summary>
        public void AddToProductModels(ProductModel productModel)
        {
            base.AddObject("ProductModels", productModel);
        }
        /// <summary>
        /// There are no comments for ProductModelIllustrations in the schema.
        /// </summary>
        public void AddToProductModelIllustrations(ProductModelIllustration productModelIllustration)
        {
            base.AddObject("ProductModelIllustrations", productModelIllustration);
        }
        /// <summary>
        /// There are no comments for ProductPhotos in the schema.
        /// </summary>
        public void AddToProductPhotos(ProductPhoto productPhoto)
        {
            base.AddObject("ProductPhotos", productPhoto);
        }
        /// <summary>
        /// There are no comments for ProductProductPhotos in the schema.
        /// </summary>
        public void AddToProductProductPhotos(ProductProductPhoto productProductPhoto)
        {
            base.AddObject("ProductProductPhotos", productProductPhoto);
        }
        /// <summary>
        /// There are no comments for ProductSubcategories in the schema.
        /// </summary>
        public void AddToProductSubcategories(ProductSubcategory productSubcategory)
        {
            base.AddObject("ProductSubcategories", productSubcategory);
        }
        /// <summary>
        /// There are no comments for WorkOrders in the schema.
        /// </summary>
        public void AddToWorkOrders(WorkOrder workOrder)
        {
            base.AddObject("WorkOrders", workOrder);
        }
        /// <summary>
        /// There are no comments for WorkOrderRoutings in the schema.
        /// </summary>
        public void AddToWorkOrderRoutings(WorkOrderRouting workOrderRouting)
        {
            base.AddObject("WorkOrderRoutings", workOrderRouting);
        }
        /// <summary>
        /// There are no comments for PurchaseOrderDetails in the schema.
        /// </summary>
        public void AddToPurchaseOrderDetails(PurchaseOrderDetail purchaseOrderDetail)
        {
            base.AddObject("PurchaseOrderDetails", purchaseOrderDetail);
        }
        /// <summary>
        /// There are no comments for PurchaseOrderHeaders in the schema.
        /// </summary>
        public void AddToPurchaseOrderHeaders(PurchaseOrderHeader purchaseOrderHeader)
        {
            base.AddObject("PurchaseOrderHeaders", purchaseOrderHeader);
        }
        /// <summary>
        /// There are no comments for Customers in the schema.
        /// </summary>
        public void AddToCustomers(Customer customer)
        {
            base.AddObject("Customers", customer);
        }
        /// <summary>
        /// There are no comments for CustomerAddresses in the schema.
        /// </summary>
        public void AddToCustomerAddresses(CustomerAddress customerAddress)
        {
            base.AddObject("CustomerAddresses", customerAddress);
        }
        /// <summary>
        /// There are no comments for Individuals in the schema.
        /// </summary>
        public void AddToIndividuals(Individual individual)
        {
            base.AddObject("Individuals", individual);
        }
        /// <summary>
        /// There are no comments for Stores in the schema.
        /// </summary>
        public void AddToStores(Store store)
        {
            base.AddObject("Stores", store);
        }
        /// <summary>
        /// There are no comments for SalesOrderDetails in the schema.
        /// </summary>
        public void AddToSalesOrderDetails(SalesOrderDetail salesOrderDetail)
        {
            base.AddObject("SalesOrderDetails", salesOrderDetail);
        }
        /// <summary>
        /// There are no comments for SalesOrderHeaders in the schema.
        /// </summary>
        public void AddToSalesOrderHeaders(SalesOrderHeader salesOrderHeader)
        {
            base.AddObject("SalesOrderHeaders", salesOrderHeader);
        }
        /// <summary>
        /// There are no comments for ShipMethods in the schema.
        /// </summary>
        public void AddToShipMethods(ShipMethod shipMethod)
        {
            base.AddObject("ShipMethods", shipMethod);
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Address in the schema.
    /// </summary>
    /// <KeyProperties>
    /// AddressID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Address")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Address : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Address object.
        /// </summary>
        /// <param name="addressID">Initial value of AddressID.</param>
        /// <param name="addressLine1">Initial value of AddressLine1.</param>
        /// <param name="city">Initial value of City.</param>
        /// <param name="postalCode">Initial value of PostalCode.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Address CreateAddress(int addressID, string addressLine1, string city, string postalCode, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            Address address = new Address();
            address.AddressID = addressID;
            address.AddressLine1 = addressLine1;
            address.City = city;
            address.PostalCode = postalCode;
            address.rowguid = rowguid;
            address.ModifiedDate = modifiedDate;
            return address;
        }
        /// <summary>
        /// There are no comments for Property AddressID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int AddressID
        {
            get
            {
                return this._AddressID;
            }
            set
            {
                this.OnAddressIDChanging(value);
                this.ReportPropertyChanging("AddressID");
                this._AddressID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("AddressID");
                this.OnAddressIDChanged();
            }
        }
        private int _AddressID;
        partial void OnAddressIDChanging(int value);
        partial void OnAddressIDChanged();
        /// <summary>
        /// There are no comments for Property AddressLine1 in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string AddressLine1
        {
            get
            {
                return this._AddressLine1;
            }
            set
            {
                this.OnAddressLine1Changing(value);
                this.ReportPropertyChanging("AddressLine1");
                this._AddressLine1 = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("AddressLine1");
                this.OnAddressLine1Changed();
            }
        }
        private string _AddressLine1;
        partial void OnAddressLine1Changing(string value);
        partial void OnAddressLine1Changed();
        /// <summary>
        /// There are no comments for Property AddressLine2 in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string AddressLine2
        {
            get
            {
                return this._AddressLine2;
            }
            set
            {
                this.OnAddressLine2Changing(value);
                this.ReportPropertyChanging("AddressLine2");
                this._AddressLine2 = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("AddressLine2");
                this.OnAddressLine2Changed();
            }
        }
        private string _AddressLine2;
        partial void OnAddressLine2Changing(string value);
        partial void OnAddressLine2Changed();
        /// <summary>
        /// There are no comments for Property City in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string City
        {
            get
            {
                return this._City;
            }
            set
            {
                this.OnCityChanging(value);
                this.ReportPropertyChanging("City");
                this._City = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("City");
                this.OnCityChanged();
            }
        }
        private string _City;
        partial void OnCityChanging(string value);
        partial void OnCityChanged();
        /// <summary>
        /// There are no comments for Property PostalCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string PostalCode
        {
            get
            {
                return this._PostalCode;
            }
            set
            {
                this.OnPostalCodeChanging(value);
                this.ReportPropertyChanging("PostalCode");
                this._PostalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("PostalCode");
                this.OnPostalCodeChanged();
            }
        }
        private string _PostalCode;
        partial void OnPostalCodeChanging(string value);
        partial void OnPostalCodeChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for StateProvince in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Address_StateProvince_StateProvinceID", "StateProvince")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public StateProvince StateProvince
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<StateProvince>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "StateProvince").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<StateProvince>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "StateProvince").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for StateProvince in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<StateProvince> StateProvinceReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<StateProvince>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "StateProvince");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<StateProvince>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "StateProvince", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for CustomerAddress in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_Address_AddressID", "CustomerAddress")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<CustomerAddress> CustomerAddress
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "CustomerAddress");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "CustomerAddress", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_BillToAddressID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderHeader> SalesOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "SalesOrderHeader", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader1 in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_ShipToAddressID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderHeader> SalesOrderHeader1
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "SalesOrderHeader", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.AddressType in the schema.
    /// </summary>
    /// <KeyProperties>
    /// AddressTypeID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="AddressType")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class AddressType : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new AddressType object.
        /// </summary>
        /// <param name="addressTypeID">Initial value of AddressTypeID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static AddressType CreateAddressType(int addressTypeID, string name, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            AddressType addressType = new AddressType();
            addressType.AddressTypeID = addressTypeID;
            addressType.Name = name;
            addressType.rowguid = rowguid;
            addressType.ModifiedDate = modifiedDate;
            return addressType;
        }
        /// <summary>
        /// There are no comments for Property AddressTypeID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int AddressTypeID
        {
            get
            {
                return this._AddressTypeID;
            }
            set
            {
                this.OnAddressTypeIDChanging(value);
                this.ReportPropertyChanging("AddressTypeID");
                this._AddressTypeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("AddressTypeID");
                this.OnAddressTypeIDChanged();
            }
        }
        private int _AddressTypeID;
        partial void OnAddressTypeIDChanging(int value);
        partial void OnAddressTypeIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for CustomerAddress in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_AddressType_AddressTypeID", "CustomerAddress")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<CustomerAddress> CustomerAddress
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "CustomerAddress");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "CustomerAddress", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Contact in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ContactID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Contact")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Contact : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Contact object.
        /// </summary>
        /// <param name="contactID">Initial value of ContactID.</param>
        /// <param name="nameStyle">Initial value of NameStyle.</param>
        /// <param name="firstName">Initial value of FirstName.</param>
        /// <param name="lastName">Initial value of LastName.</param>
        /// <param name="emailPromotion">Initial value of EmailPromotion.</param>
        /// <param name="passwordHash">Initial value of PasswordHash.</param>
        /// <param name="passwordSalt">Initial value of PasswordSalt.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Contact CreateContact(int contactID, bool nameStyle, string firstName, string lastName, int emailPromotion, string passwordHash, string passwordSalt, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            Contact contact = new Contact();
            contact.ContactID = contactID;
            contact.NameStyle = nameStyle;
            contact.FirstName = firstName;
            contact.LastName = lastName;
            contact.EmailPromotion = emailPromotion;
            contact.PasswordHash = passwordHash;
            contact.PasswordSalt = passwordSalt;
            contact.rowguid = rowguid;
            contact.ModifiedDate = modifiedDate;
            return contact;
        }
        /// <summary>
        /// There are no comments for Property ContactID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ContactID
        {
            get
            {
                return this._ContactID;
            }
            set
            {
                this.OnContactIDChanging(value);
                this.ReportPropertyChanging("ContactID");
                this._ContactID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ContactID");
                this.OnContactIDChanged();
            }
        }
        private int _ContactID;
        partial void OnContactIDChanging(int value);
        partial void OnContactIDChanged();
        /// <summary>
        /// There are no comments for Property NameStyle in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool NameStyle
        {
            get
            {
                return this._NameStyle;
            }
            set
            {
                this.OnNameStyleChanging(value);
                this.ReportPropertyChanging("NameStyle");
                this._NameStyle = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("NameStyle");
                this.OnNameStyleChanged();
            }
        }
        private bool _NameStyle;
        partial void OnNameStyleChanging(bool value);
        partial void OnNameStyleChanged();
        /// <summary>
        /// There are no comments for Property Title in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                this.OnTitleChanging(value);
                this.ReportPropertyChanging("Title");
                this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Title");
                this.OnTitleChanged();
            }
        }
        private string _Title;
        partial void OnTitleChanging(string value);
        partial void OnTitleChanged();
        /// <summary>
        /// There are no comments for Property FirstName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string FirstName
        {
            get
            {
                return this._FirstName;
            }
            set
            {
                this.OnFirstNameChanging(value);
                this.ReportPropertyChanging("FirstName");
                this._FirstName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("FirstName");
                this.OnFirstNameChanged();
            }
        }
        private string _FirstName;
        partial void OnFirstNameChanging(string value);
        partial void OnFirstNameChanged();
        /// <summary>
        /// There are no comments for Property MiddleName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string MiddleName
        {
            get
            {
                return this._MiddleName;
            }
            set
            {
                this.OnMiddleNameChanging(value);
                this.ReportPropertyChanging("MiddleName");
                this._MiddleName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("MiddleName");
                this.OnMiddleNameChanged();
            }
        }
        private string _MiddleName;
        partial void OnMiddleNameChanging(string value);
        partial void OnMiddleNameChanged();
        /// <summary>
        /// There are no comments for Property LastName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string LastName
        {
            get
            {
                return this._LastName;
            }
            set
            {
                this.OnLastNameChanging(value);
                this.ReportPropertyChanging("LastName");
                this._LastName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("LastName");
                this.OnLastNameChanged();
            }
        }
        private string _LastName;
        partial void OnLastNameChanging(string value);
        partial void OnLastNameChanged();
        /// <summary>
        /// There are no comments for Property Suffix in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Suffix
        {
            get
            {
                return this._Suffix;
            }
            set
            {
                this.OnSuffixChanging(value);
                this.ReportPropertyChanging("Suffix");
                this._Suffix = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Suffix");
                this.OnSuffixChanged();
            }
        }
        private string _Suffix;
        partial void OnSuffixChanging(string value);
        partial void OnSuffixChanged();
        /// <summary>
        /// There are no comments for Property EmailAddress in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string EmailAddress
        {
            get
            {
                return this._EmailAddress;
            }
            set
            {
                this.OnEmailAddressChanging(value);
                this.ReportPropertyChanging("EmailAddress");
                this._EmailAddress = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("EmailAddress");
                this.OnEmailAddressChanged();
            }
        }
        private string _EmailAddress;
        partial void OnEmailAddressChanging(string value);
        partial void OnEmailAddressChanged();
        /// <summary>
        /// There are no comments for Property EmailPromotion in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int EmailPromotion
        {
            get
            {
                return this._EmailPromotion;
            }
            set
            {
                this.OnEmailPromotionChanging(value);
                this.ReportPropertyChanging("EmailPromotion");
                this._EmailPromotion = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("EmailPromotion");
                this.OnEmailPromotionChanged();
            }
        }
        private int _EmailPromotion;
        partial void OnEmailPromotionChanging(int value);
        partial void OnEmailPromotionChanged();
        /// <summary>
        /// There are no comments for Property Phone in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Phone
        {
            get
            {
                return this._Phone;
            }
            set
            {
                this.OnPhoneChanging(value);
                this.ReportPropertyChanging("Phone");
                this._Phone = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Phone");
                this.OnPhoneChanged();
            }
        }
        private string _Phone;
        partial void OnPhoneChanging(string value);
        partial void OnPhoneChanged();
        /// <summary>
        /// There are no comments for Property PasswordHash in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string PasswordHash
        {
            get
            {
                return this._PasswordHash;
            }
            set
            {
                this.OnPasswordHashChanging(value);
                this.ReportPropertyChanging("PasswordHash");
                this._PasswordHash = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("PasswordHash");
                this.OnPasswordHashChanged();
            }
        }
        private string _PasswordHash;
        partial void OnPasswordHashChanging(string value);
        partial void OnPasswordHashChanged();
        /// <summary>
        /// There are no comments for Property PasswordSalt in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string PasswordSalt
        {
            get
            {
                return this._PasswordSalt;
            }
            set
            {
                this.OnPasswordSaltChanging(value);
                this.ReportPropertyChanging("PasswordSalt");
                this._PasswordSalt = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("PasswordSalt");
                this.OnPasswordSaltChanged();
            }
        }
        private string _PasswordSalt;
        partial void OnPasswordSaltChanging(string value);
        partial void OnPasswordSaltChanged();
        /// <summary>
        /// There are no comments for Property AdditionalContactInfo in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string AdditionalContactInfo
        {
            get
            {
                return this._AdditionalContactInfo;
            }
            set
            {
                this.OnAdditionalContactInfoChanging(value);
                this.ReportPropertyChanging("AdditionalContactInfo");
                this._AdditionalContactInfo = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("AdditionalContactInfo");
                this.OnAdditionalContactInfoChanged();
            }
        }
        private string _AdditionalContactInfo;
        partial void OnAdditionalContactInfoChanging(string value);
        partial void OnAdditionalContactInfoChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Individual in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Individual_Contact_ContactID", "Individual")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<Individual> Individual
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<Individual>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Individual");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<Individual>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Individual", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Contact_ContactID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderHeader> SalesOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "SalesOrderHeader", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.StateProvince in the schema.
    /// </summary>
    /// <KeyProperties>
    /// StateProvinceID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="StateProvince")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class StateProvince : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new StateProvince object.
        /// </summary>
        /// <param name="stateProvinceID">Initial value of StateProvinceID.</param>
        /// <param name="stateProvinceCode">Initial value of StateProvinceCode.</param>
        /// <param name="countryRegionCode">Initial value of CountryRegionCode.</param>
        /// <param name="isOnlyStateProvinceFlag">Initial value of IsOnlyStateProvinceFlag.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="territoryID">Initial value of TerritoryID.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static StateProvince CreateStateProvince(int stateProvinceID, string stateProvinceCode, string countryRegionCode, bool isOnlyStateProvinceFlag, string name, int territoryID, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            StateProvince stateProvince = new StateProvince();
            stateProvince.StateProvinceID = stateProvinceID;
            stateProvince.StateProvinceCode = stateProvinceCode;
            stateProvince.CountryRegionCode = countryRegionCode;
            stateProvince.IsOnlyStateProvinceFlag = isOnlyStateProvinceFlag;
            stateProvince.Name = name;
            stateProvince.TerritoryID = territoryID;
            stateProvince.rowguid = rowguid;
            stateProvince.ModifiedDate = modifiedDate;
            return stateProvince;
        }
        /// <summary>
        /// There are no comments for Property StateProvinceID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int StateProvinceID
        {
            get
            {
                return this._StateProvinceID;
            }
            set
            {
                this.OnStateProvinceIDChanging(value);
                this.ReportPropertyChanging("StateProvinceID");
                this._StateProvinceID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("StateProvinceID");
                this.OnStateProvinceIDChanged();
            }
        }
        private int _StateProvinceID;
        partial void OnStateProvinceIDChanging(int value);
        partial void OnStateProvinceIDChanged();
        /// <summary>
        /// There are no comments for Property StateProvinceCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string StateProvinceCode
        {
            get
            {
                return this._StateProvinceCode;
            }
            set
            {
                this.OnStateProvinceCodeChanging(value);
                this.ReportPropertyChanging("StateProvinceCode");
                this._StateProvinceCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("StateProvinceCode");
                this.OnStateProvinceCodeChanged();
            }
        }
        private string _StateProvinceCode;
        partial void OnStateProvinceCodeChanging(string value);
        partial void OnStateProvinceCodeChanged();
        /// <summary>
        /// There are no comments for Property CountryRegionCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string CountryRegionCode
        {
            get
            {
                return this._CountryRegionCode;
            }
            set
            {
                this.OnCountryRegionCodeChanging(value);
                this.ReportPropertyChanging("CountryRegionCode");
                this._CountryRegionCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("CountryRegionCode");
                this.OnCountryRegionCodeChanged();
            }
        }
        private string _CountryRegionCode;
        partial void OnCountryRegionCodeChanging(string value);
        partial void OnCountryRegionCodeChanged();
        /// <summary>
        /// There are no comments for Property IsOnlyStateProvinceFlag in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool IsOnlyStateProvinceFlag
        {
            get
            {
                return this._IsOnlyStateProvinceFlag;
            }
            set
            {
                this.OnIsOnlyStateProvinceFlagChanging(value);
                this.ReportPropertyChanging("IsOnlyStateProvinceFlag");
                this._IsOnlyStateProvinceFlag = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("IsOnlyStateProvinceFlag");
                this.OnIsOnlyStateProvinceFlagChanged();
            }
        }
        private bool _IsOnlyStateProvinceFlag;
        partial void OnIsOnlyStateProvinceFlagChanging(bool value);
        partial void OnIsOnlyStateProvinceFlagChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property TerritoryID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int TerritoryID
        {
            get
            {
                return this._TerritoryID;
            }
            set
            {
                this.OnTerritoryIDChanging(value);
                this.ReportPropertyChanging("TerritoryID");
                this._TerritoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TerritoryID");
                this.OnTerritoryIDChanged();
            }
        }
        private int _TerritoryID;
        partial void OnTerritoryIDChanging(int value);
        partial void OnTerritoryIDChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Address in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Address_StateProvince_StateProvinceID", "Address")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<Address> Address
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<Address>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "Address");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<Address>("AdventureWorksModel.FK_Address_StateProvince_StateProvinceID", "Address", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Document in the schema.
    /// </summary>
    /// <KeyProperties>
    /// DocumentID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Document")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Document : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Document object.
        /// </summary>
        /// <param name="documentID">Initial value of DocumentID.</param>
        /// <param name="title">Initial value of Title.</param>
        /// <param name="fileName">Initial value of FileName.</param>
        /// <param name="fileExtension">Initial value of FileExtension.</param>
        /// <param name="revision">Initial value of Revision.</param>
        /// <param name="changeNumber">Initial value of ChangeNumber.</param>
        /// <param name="status">Initial value of Status.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Document CreateDocument(int documentID, string title, string fileName, string fileExtension, string revision, int changeNumber, byte status, global::System.DateTime modifiedDate)
        {
            Document document = new Document();
            document.DocumentID = documentID;
            document.Title = title;
            document.FileName = fileName;
            document.FileExtension = fileExtension;
            document.Revision = revision;
            document.ChangeNumber = changeNumber;
            document.Status = status;
            document.ModifiedDate = modifiedDate;
            return document;
        }
        /// <summary>
        /// There are no comments for Property DocumentID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int DocumentID
        {
            get
            {
                return this._DocumentID;
            }
            set
            {
                this.OnDocumentIDChanging(value);
                this.ReportPropertyChanging("DocumentID");
                this._DocumentID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DocumentID");
                this.OnDocumentIDChanged();
            }
        }
        private int _DocumentID;
        partial void OnDocumentIDChanging(int value);
        partial void OnDocumentIDChanged();
        /// <summary>
        /// There are no comments for Property Title in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Title
        {
            get
            {
                return this._Title;
            }
            set
            {
                this.OnTitleChanging(value);
                this.ReportPropertyChanging("Title");
                this._Title = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Title");
                this.OnTitleChanged();
            }
        }
        private string _Title;
        partial void OnTitleChanging(string value);
        partial void OnTitleChanged();
        /// <summary>
        /// There are no comments for Property FileName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string FileName
        {
            get
            {
                return this._FileName;
            }
            set
            {
                this.OnFileNameChanging(value);
                this.ReportPropertyChanging("FileName");
                this._FileName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("FileName");
                this.OnFileNameChanged();
            }
        }
        private string _FileName;
        partial void OnFileNameChanging(string value);
        partial void OnFileNameChanged();
        /// <summary>
        /// There are no comments for Property FileExtension in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string FileExtension
        {
            get
            {
                return this._FileExtension;
            }
            set
            {
                this.OnFileExtensionChanging(value);
                this.ReportPropertyChanging("FileExtension");
                this._FileExtension = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("FileExtension");
                this.OnFileExtensionChanged();
            }
        }
        private string _FileExtension;
        partial void OnFileExtensionChanging(string value);
        partial void OnFileExtensionChanged();
        /// <summary>
        /// There are no comments for Property Revision in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Revision
        {
            get
            {
                return this._Revision;
            }
            set
            {
                this.OnRevisionChanging(value);
                this.ReportPropertyChanging("Revision");
                this._Revision = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Revision");
                this.OnRevisionChanged();
            }
        }
        private string _Revision;
        partial void OnRevisionChanging(string value);
        partial void OnRevisionChanged();
        /// <summary>
        /// There are no comments for Property ChangeNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ChangeNumber
        {
            get
            {
                return this._ChangeNumber;
            }
            set
            {
                this.OnChangeNumberChanging(value);
                this.ReportPropertyChanging("ChangeNumber");
                this._ChangeNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ChangeNumber");
                this.OnChangeNumberChanged();
            }
        }
        private int _ChangeNumber;
        partial void OnChangeNumberChanging(int value);
        partial void OnChangeNumberChanged();
        /// <summary>
        /// There are no comments for Property Status in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte Status
        {
            get
            {
                return this._Status;
            }
            set
            {
                this.OnStatusChanging(value);
                this.ReportPropertyChanging("Status");
                this._Status = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Status");
                this.OnStatusChanged();
            }
        }
        private byte _Status;
        partial void OnStatusChanging(byte value);
        partial void OnStatusChanged();
        /// <summary>
        /// There are no comments for Property DocumentSummary in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string DocumentSummary
        {
            get
            {
                return this._DocumentSummary;
            }
            set
            {
                this.OnDocumentSummaryChanging(value);
                this.ReportPropertyChanging("DocumentSummary");
                this._DocumentSummary = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("DocumentSummary");
                this.OnDocumentSummaryChanged();
            }
        }
        private string _DocumentSummary;
        partial void OnDocumentSummaryChanging(string value);
        partial void OnDocumentSummaryChanged();
        /// <summary>
        /// There are no comments for Property Document1 in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte[] Document1
        {
            get
            {
                return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._Document1);
            }
            set
            {
                this.OnDocument1Changing(value);
                this.ReportPropertyChanging("Document1");
                this._Document1 = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Document1");
                this.OnDocument1Changed();
            }
        }
        private byte[] _Document1;
        partial void OnDocument1Changing(byte[] value);
        partial void OnDocument1Changed();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for ProductDocument in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductDocument_Document_DocumentID", "ProductDocument")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductDocument> ProductDocument
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductDocument>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "ProductDocument");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductDocument>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "ProductDocument", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Product in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Product")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Product : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Product object.
        /// </summary>
        /// <param name="productID">Initial value of ProductID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="productNumber">Initial value of ProductNumber.</param>
        /// <param name="makeFlag">Initial value of MakeFlag.</param>
        /// <param name="finishedGoodsFlag">Initial value of FinishedGoodsFlag.</param>
        /// <param name="safetyStockLevel">Initial value of SafetyStockLevel.</param>
        /// <param name="reorderPoint">Initial value of ReorderPoint.</param>
        /// <param name="standardCost">Initial value of StandardCost.</param>
        /// <param name="listPrice">Initial value of ListPrice.</param>
        /// <param name="daysToManufacture">Initial value of DaysToManufacture.</param>
        /// <param name="sellStartDate">Initial value of SellStartDate.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Product CreateProduct(int productID, string name, string productNumber, bool makeFlag, bool finishedGoodsFlag, short safetyStockLevel, short reorderPoint, decimal standardCost, decimal listPrice, int daysToManufacture, global::System.DateTime sellStartDate, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            Product product = new Product();
            product.ProductID = productID;
            product.Name = name;
            product.ProductNumber = productNumber;
            product.MakeFlag = makeFlag;
            product.FinishedGoodsFlag = finishedGoodsFlag;
            product.SafetyStockLevel = safetyStockLevel;
            product.ReorderPoint = reorderPoint;
            product.StandardCost = standardCost;
            product.ListPrice = listPrice;
            product.DaysToManufacture = daysToManufacture;
            product.SellStartDate = sellStartDate;
            product.rowguid = rowguid;
            product.ModifiedDate = modifiedDate;
            return product;
        }
        /// <summary>
        /// There are no comments for Property ProductID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this.ReportPropertyChanging("ProductID");
                this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductID");
                this.OnProductIDChanged();
            }
        }
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property ProductNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string ProductNumber
        {
            get
            {
                return this._ProductNumber;
            }
            set
            {
                this.OnProductNumberChanging(value);
                this.ReportPropertyChanging("ProductNumber");
                this._ProductNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("ProductNumber");
                this.OnProductNumberChanged();
            }
        }
        private string _ProductNumber;
        partial void OnProductNumberChanging(string value);
        partial void OnProductNumberChanged();
        /// <summary>
        /// There are no comments for Property MakeFlag in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool MakeFlag
        {
            get
            {
                return this._MakeFlag;
            }
            set
            {
                this.OnMakeFlagChanging(value);
                this.ReportPropertyChanging("MakeFlag");
                this._MakeFlag = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("MakeFlag");
                this.OnMakeFlagChanged();
            }
        }
        private bool _MakeFlag;
        partial void OnMakeFlagChanging(bool value);
        partial void OnMakeFlagChanged();
        /// <summary>
        /// There are no comments for Property FinishedGoodsFlag in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool FinishedGoodsFlag
        {
            get
            {
                return this._FinishedGoodsFlag;
            }
            set
            {
                this.OnFinishedGoodsFlagChanging(value);
                this.ReportPropertyChanging("FinishedGoodsFlag");
                this._FinishedGoodsFlag = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("FinishedGoodsFlag");
                this.OnFinishedGoodsFlagChanged();
            }
        }
        private bool _FinishedGoodsFlag;
        partial void OnFinishedGoodsFlagChanging(bool value);
        partial void OnFinishedGoodsFlagChanged();
        /// <summary>
        /// There are no comments for Property Color in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Color
        {
            get
            {
                return this._Color;
            }
            set
            {
                this.OnColorChanging(value);
                this.ReportPropertyChanging("Color");
                this._Color = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Color");
                this.OnColorChanged();
            }
        }
        private string _Color;
        partial void OnColorChanging(string value);
        partial void OnColorChanged();
        /// <summary>
        /// There are no comments for Property SafetyStockLevel in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short SafetyStockLevel
        {
            get
            {
                return this._SafetyStockLevel;
            }
            set
            {
                this.OnSafetyStockLevelChanging(value);
                this.ReportPropertyChanging("SafetyStockLevel");
                this._SafetyStockLevel = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SafetyStockLevel");
                this.OnSafetyStockLevelChanged();
            }
        }
        private short _SafetyStockLevel;
        partial void OnSafetyStockLevelChanging(short value);
        partial void OnSafetyStockLevelChanged();
        /// <summary>
        /// There are no comments for Property ReorderPoint in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short ReorderPoint
        {
            get
            {
                return this._ReorderPoint;
            }
            set
            {
                this.OnReorderPointChanging(value);
                this.ReportPropertyChanging("ReorderPoint");
                this._ReorderPoint = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ReorderPoint");
                this.OnReorderPointChanged();
            }
        }
        private short _ReorderPoint;
        partial void OnReorderPointChanging(short value);
        partial void OnReorderPointChanged();
        /// <summary>
        /// There are no comments for Property StandardCost in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal StandardCost
        {
            get
            {
                return this._StandardCost;
            }
            set
            {
                this.OnStandardCostChanging(value);
                this.ReportPropertyChanging("StandardCost");
                this._StandardCost = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("StandardCost");
                this.OnStandardCostChanged();
            }
        }
        private decimal _StandardCost;
        partial void OnStandardCostChanging(decimal value);
        partial void OnStandardCostChanged();
        /// <summary>
        /// There are no comments for Property ListPrice in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal ListPrice
        {
            get
            {
                return this._ListPrice;
            }
            set
            {
                this.OnListPriceChanging(value);
                this.ReportPropertyChanging("ListPrice");
                this._ListPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ListPrice");
                this.OnListPriceChanged();
            }
        }
        private decimal _ListPrice;
        partial void OnListPriceChanging(decimal value);
        partial void OnListPriceChanged();
        /// <summary>
        /// There are no comments for Property Size in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Size
        {
            get
            {
                return this._Size;
            }
            set
            {
                this.OnSizeChanging(value);
                this.ReportPropertyChanging("Size");
                this._Size = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Size");
                this.OnSizeChanged();
            }
        }
        private string _Size;
        partial void OnSizeChanging(string value);
        partial void OnSizeChanged();
        /// <summary>
        /// There are no comments for Property SizeUnitMeasureCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string SizeUnitMeasureCode
        {
            get
            {
                return this._SizeUnitMeasureCode;
            }
            set
            {
                this.OnSizeUnitMeasureCodeChanging(value);
                this.ReportPropertyChanging("SizeUnitMeasureCode");
                this._SizeUnitMeasureCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("SizeUnitMeasureCode");
                this.OnSizeUnitMeasureCodeChanged();
            }
        }
        private string _SizeUnitMeasureCode;
        partial void OnSizeUnitMeasureCodeChanging(string value);
        partial void OnSizeUnitMeasureCodeChanged();
        /// <summary>
        /// There are no comments for Property WeightUnitMeasureCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string WeightUnitMeasureCode
        {
            get
            {
                return this._WeightUnitMeasureCode;
            }
            set
            {
                this.OnWeightUnitMeasureCodeChanging(value);
                this.ReportPropertyChanging("WeightUnitMeasureCode");
                this._WeightUnitMeasureCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("WeightUnitMeasureCode");
                this.OnWeightUnitMeasureCodeChanged();
            }
        }
        private string _WeightUnitMeasureCode;
        partial void OnWeightUnitMeasureCodeChanging(string value);
        partial void OnWeightUnitMeasureCodeChanged();
        /// <summary>
        /// There are no comments for Property Weight in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<decimal> Weight
        {
            get
            {
                return this._Weight;
            }
            set
            {
                this.OnWeightChanging(value);
                this.ReportPropertyChanging("Weight");
                this._Weight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Weight");
                this.OnWeightChanged();
            }
        }
        private global::System.Nullable<decimal> _Weight;
        partial void OnWeightChanging(global::System.Nullable<decimal> value);
        partial void OnWeightChanged();
        /// <summary>
        /// There are no comments for Property DaysToManufacture in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int DaysToManufacture
        {
            get
            {
                return this._DaysToManufacture;
            }
            set
            {
                this.OnDaysToManufactureChanging(value);
                this.ReportPropertyChanging("DaysToManufacture");
                this._DaysToManufacture = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DaysToManufacture");
                this.OnDaysToManufactureChanged();
            }
        }
        private int _DaysToManufacture;
        partial void OnDaysToManufactureChanging(int value);
        partial void OnDaysToManufactureChanged();
        /// <summary>
        /// There are no comments for Property ProductLine in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string ProductLine
        {
            get
            {
                return this._ProductLine;
            }
            set
            {
                this.OnProductLineChanging(value);
                this.ReportPropertyChanging("ProductLine");
                this._ProductLine = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("ProductLine");
                this.OnProductLineChanged();
            }
        }
        private string _ProductLine;
        partial void OnProductLineChanging(string value);
        partial void OnProductLineChanged();
        /// <summary>
        /// There are no comments for Property Class in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Class
        {
            get
            {
                return this._Class;
            }
            set
            {
                this.OnClassChanging(value);
                this.ReportPropertyChanging("Class");
                this._Class = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Class");
                this.OnClassChanged();
            }
        }
        private string _Class;
        partial void OnClassChanging(string value);
        partial void OnClassChanged();
        /// <summary>
        /// There are no comments for Property Style in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Style
        {
            get
            {
                return this._Style;
            }
            set
            {
                this.OnStyleChanging(value);
                this.ReportPropertyChanging("Style");
                this._Style = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Style");
                this.OnStyleChanged();
            }
        }
        private string _Style;
        partial void OnStyleChanging(string value);
        partial void OnStyleChanged();
        /// <summary>
        /// There are no comments for Property SellStartDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime SellStartDate
        {
            get
            {
                return this._SellStartDate;
            }
            set
            {
                this.OnSellStartDateChanging(value);
                this.ReportPropertyChanging("SellStartDate");
                this._SellStartDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SellStartDate");
                this.OnSellStartDateChanged();
            }
        }
        private global::System.DateTime _SellStartDate;
        partial void OnSellStartDateChanging(global::System.DateTime value);
        partial void OnSellStartDateChanged();
        /// <summary>
        /// There are no comments for Property SellEndDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> SellEndDate
        {
            get
            {
                return this._SellEndDate;
            }
            set
            {
                this.OnSellEndDateChanging(value);
                this.ReportPropertyChanging("SellEndDate");
                this._SellEndDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SellEndDate");
                this.OnSellEndDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _SellEndDate;
        partial void OnSellEndDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnSellEndDateChanged();
        /// <summary>
        /// There are no comments for Property DiscontinuedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> DiscontinuedDate
        {
            get
            {
                return this._DiscontinuedDate;
            }
            set
            {
                this.OnDiscontinuedDateChanging(value);
                this.ReportPropertyChanging("DiscontinuedDate");
                this._DiscontinuedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DiscontinuedDate");
                this.OnDiscontinuedDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _DiscontinuedDate;
        partial void OnDiscontinuedDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnDiscontinuedDateChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for ProductModel in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Product_ProductModel_ProductModelID", "ProductModel")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ProductModel ProductModel
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "ProductModel").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "ProductModel").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ProductModel in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ProductModel> ProductModelReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "ProductModel");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ProductModel>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "ProductModel", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductSubcategory in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ProductSubcategory ProductSubcategory
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductSubcategory>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductSubcategory>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ProductSubcategory in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ProductSubcategory> ProductSubcategoryReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductSubcategory>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ProductSubcategory>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "ProductSubcategory", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductDocument in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductDocument_Product_ProductID", "ProductDocument")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductDocument> ProductDocument
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductDocument>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "ProductDocument");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductDocument>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "ProductDocument", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductProductPhoto in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductProductPhoto_Product_ProductID", "ProductProductPhoto")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductProductPhoto> ProductProductPhoto
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "ProductProductPhoto");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "ProductProductPhoto", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for PurchaseOrderDetail in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_Product_ProductID", "PurchaseOrderDetail")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<PurchaseOrderDetail> PurchaseOrderDetail
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<PurchaseOrderDetail>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "PurchaseOrderDetail");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<PurchaseOrderDetail>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "PurchaseOrderDetail", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for WorkOrder in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_WorkOrder_Product_ProductID", "WorkOrder")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<WorkOrder> WorkOrder
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<WorkOrder>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "WorkOrder");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<WorkOrder>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "WorkOrder", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductCategory in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductCategoryID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductCategory")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductCategory : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductCategory object.
        /// </summary>
        /// <param name="productCategoryID">Initial value of ProductCategoryID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductCategory CreateProductCategory(int productCategoryID, string name, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            ProductCategory productCategory = new ProductCategory();
            productCategory.ProductCategoryID = productCategoryID;
            productCategory.Name = name;
            productCategory.rowguid = rowguid;
            productCategory.ModifiedDate = modifiedDate;
            return productCategory;
        }
        /// <summary>
        /// There are no comments for Property ProductCategoryID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductCategoryID
        {
            get
            {
                return this._ProductCategoryID;
            }
            set
            {
                this.OnProductCategoryIDChanging(value);
                this.ReportPropertyChanging("ProductCategoryID");
                this._ProductCategoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductCategoryID");
                this.OnProductCategoryIDChanged();
            }
        }
        private int _ProductCategoryID;
        partial void OnProductCategoryIDChanging(int value);
        partial void OnProductCategoryIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for ProductSubcategory in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductSubcategory")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductSubcategory> ProductSubcategory
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductSubcategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductSubcategory");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductSubcategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductSubcategory", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductDocument in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductID
    /// DocumentID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductDocument")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductDocument : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductDocument object.
        /// </summary>
        /// <param name="productID">Initial value of ProductID.</param>
        /// <param name="documentID">Initial value of DocumentID.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductDocument CreateProductDocument(int productID, int documentID, global::System.DateTime modifiedDate)
        {
            ProductDocument productDocument = new ProductDocument();
            productDocument.ProductID = productID;
            productDocument.DocumentID = documentID;
            productDocument.ModifiedDate = modifiedDate;
            return productDocument;
        }
        /// <summary>
        /// There are no comments for Property ProductID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this.ReportPropertyChanging("ProductID");
                this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductID");
                this.OnProductIDChanged();
            }
        }
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property DocumentID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int DocumentID
        {
            get
            {
                return this._DocumentID;
            }
            set
            {
                this.OnDocumentIDChanging(value);
                this.ReportPropertyChanging("DocumentID");
                this._DocumentID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DocumentID");
                this.OnDocumentIDChanged();
            }
        }
        private int _DocumentID;
        partial void OnDocumentIDChanging(int value);
        partial void OnDocumentIDChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Document in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductDocument_Document_DocumentID", "Document")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Document Document
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Document>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "Document").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Document>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "Document").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Document in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Document> DocumentReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Document>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "Document");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Document>("AdventureWorksModel.FK_ProductDocument_Document_DocumentID", "Document", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductDocument_Product_ProductID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Product Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "Product").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "Product").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Product> ProductReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Product>("AdventureWorksModel.FK_ProductDocument_Product_ProductID", "Product", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductModel in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductModelID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductModel")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductModel : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductModel object.
        /// </summary>
        /// <param name="productModelID">Initial value of ProductModelID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductModel CreateProductModel(int productModelID, string name, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            ProductModel productModel = new ProductModel();
            productModel.ProductModelID = productModelID;
            productModel.Name = name;
            productModel.rowguid = rowguid;
            productModel.ModifiedDate = modifiedDate;
            return productModel;
        }
        /// <summary>
        /// There are no comments for Property ProductModelID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductModelID
        {
            get
            {
                return this._ProductModelID;
            }
            set
            {
                this.OnProductModelIDChanging(value);
                this.ReportPropertyChanging("ProductModelID");
                this._ProductModelID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductModelID");
                this.OnProductModelIDChanged();
            }
        }
        private int _ProductModelID;
        partial void OnProductModelIDChanging(int value);
        partial void OnProductModelIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property CatalogDescription in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string CatalogDescription
        {
            get
            {
                return this._CatalogDescription;
            }
            set
            {
                this.OnCatalogDescriptionChanging(value);
                this.ReportPropertyChanging("CatalogDescription");
                this._CatalogDescription = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("CatalogDescription");
                this.OnCatalogDescriptionChanged();
            }
        }
        private string _CatalogDescription;
        partial void OnCatalogDescriptionChanging(string value);
        partial void OnCatalogDescriptionChanged();
        /// <summary>
        /// There are no comments for Property Instructions in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Instructions
        {
            get
            {
                return this._Instructions;
            }
            set
            {
                this.OnInstructionsChanging(value);
                this.ReportPropertyChanging("Instructions");
                this._Instructions = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Instructions");
                this.OnInstructionsChanged();
            }
        }
        private string _Instructions;
        partial void OnInstructionsChanging(string value);
        partial void OnInstructionsChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Product_ProductModel_ProductModelID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<Product> Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<Product>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<Product>("AdventureWorksModel.FK_Product_ProductModel_ProductModelID", "Product", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductModelIllustration in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModelIllustration")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductModelIllustration> ProductModelIllustration
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductModelIllustration>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModelIllustration");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductModelIllustration>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModelIllustration", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductModelIllustration in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductModelID
    /// IllustrationID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductModelIllustration")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductModelIllustration : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductModelIllustration object.
        /// </summary>
        /// <param name="productModelID">Initial value of ProductModelID.</param>
        /// <param name="illustrationID">Initial value of IllustrationID.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductModelIllustration CreateProductModelIllustration(int productModelID, int illustrationID, global::System.DateTime modifiedDate)
        {
            ProductModelIllustration productModelIllustration = new ProductModelIllustration();
            productModelIllustration.ProductModelID = productModelID;
            productModelIllustration.IllustrationID = illustrationID;
            productModelIllustration.ModifiedDate = modifiedDate;
            return productModelIllustration;
        }
        /// <summary>
        /// There are no comments for Property ProductModelID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductModelID
        {
            get
            {
                return this._ProductModelID;
            }
            set
            {
                this.OnProductModelIDChanging(value);
                this.ReportPropertyChanging("ProductModelID");
                this._ProductModelID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductModelID");
                this.OnProductModelIDChanged();
            }
        }
        private int _ProductModelID;
        partial void OnProductModelIDChanging(int value);
        partial void OnProductModelIDChanged();
        /// <summary>
        /// There are no comments for Property IllustrationID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int IllustrationID
        {
            get
            {
                return this._IllustrationID;
            }
            set
            {
                this.OnIllustrationIDChanging(value);
                this.ReportPropertyChanging("IllustrationID");
                this._IllustrationID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("IllustrationID");
                this.OnIllustrationIDChanged();
            }
        }
        private int _IllustrationID;
        partial void OnIllustrationIDChanging(int value);
        partial void OnIllustrationIDChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for ProductModel in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ProductModel ProductModel
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ProductModel in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ProductModel> ProductModelReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductModel>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ProductModel>("AdventureWorksModel.FK_ProductModelIllustration_ProductModel_ProductModelID", "ProductModel", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductPhoto in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductPhotoID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductPhoto")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductPhoto : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductPhoto object.
        /// </summary>
        /// <param name="productPhotoID">Initial value of ProductPhotoID.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductPhoto CreateProductPhoto(int productPhotoID, global::System.DateTime modifiedDate)
        {
            ProductPhoto productPhoto = new ProductPhoto();
            productPhoto.ProductPhotoID = productPhotoID;
            productPhoto.ModifiedDate = modifiedDate;
            return productPhoto;
        }
        /// <summary>
        /// There are no comments for Property ProductPhotoID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductPhotoID
        {
            get
            {
                return this._ProductPhotoID;
            }
            set
            {
                this.OnProductPhotoIDChanging(value);
                this.ReportPropertyChanging("ProductPhotoID");
                this._ProductPhotoID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductPhotoID");
                this.OnProductPhotoIDChanged();
            }
        }
        private int _ProductPhotoID;
        partial void OnProductPhotoIDChanging(int value);
        partial void OnProductPhotoIDChanged();
        /// <summary>
        /// There are no comments for Property ThumbNailPhoto in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte[] ThumbNailPhoto
        {
            get
            {
                return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._ThumbNailPhoto);
            }
            set
            {
                this.OnThumbNailPhotoChanging(value);
                this.ReportPropertyChanging("ThumbNailPhoto");
                this._ThumbNailPhoto = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("ThumbNailPhoto");
                this.OnThumbNailPhotoChanged();
            }
        }
        private byte[] _ThumbNailPhoto;
        partial void OnThumbNailPhotoChanging(byte[] value);
        partial void OnThumbNailPhotoChanged();
        /// <summary>
        /// There are no comments for Property ThumbnailPhotoFileName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string ThumbnailPhotoFileName
        {
            get
            {
                return this._ThumbnailPhotoFileName;
            }
            set
            {
                this.OnThumbnailPhotoFileNameChanging(value);
                this.ReportPropertyChanging("ThumbnailPhotoFileName");
                this._ThumbnailPhotoFileName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("ThumbnailPhotoFileName");
                this.OnThumbnailPhotoFileNameChanged();
            }
        }
        private string _ThumbnailPhotoFileName;
        partial void OnThumbnailPhotoFileNameChanging(string value);
        partial void OnThumbnailPhotoFileNameChanged();
        /// <summary>
        /// There are no comments for Property LargePhoto in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte[] LargePhoto
        {
            get
            {
                return global::System.Data.Objects.DataClasses.StructuralObject.GetValidValue(this._LargePhoto);
            }
            set
            {
                this.OnLargePhotoChanging(value);
                this.ReportPropertyChanging("LargePhoto");
                this._LargePhoto = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("LargePhoto");
                this.OnLargePhotoChanged();
            }
        }
        private byte[] _LargePhoto;
        partial void OnLargePhotoChanging(byte[] value);
        partial void OnLargePhotoChanged();
        /// <summary>
        /// There are no comments for Property LargePhotoFileName in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string LargePhotoFileName
        {
            get
            {
                return this._LargePhotoFileName;
            }
            set
            {
                this.OnLargePhotoFileNameChanging(value);
                this.ReportPropertyChanging("LargePhotoFileName");
                this._LargePhotoFileName = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("LargePhotoFileName");
                this.OnLargePhotoFileNameChanged();
            }
        }
        private string _LargePhotoFileName;
        partial void OnLargePhotoFileNameChanging(string value);
        partial void OnLargePhotoFileNameChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for ProductProductPhoto in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductProductPhoto")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<ProductProductPhoto> ProductProductPhoto
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<ProductProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductProductPhoto");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<ProductProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductProductPhoto", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductProductPhoto in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductID
    /// ProductPhotoID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductProductPhoto")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductProductPhoto : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductProductPhoto object.
        /// </summary>
        /// <param name="productID">Initial value of ProductID.</param>
        /// <param name="productPhotoID">Initial value of ProductPhotoID.</param>
        /// <param name="primary">Initial value of Primary.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductProductPhoto CreateProductProductPhoto(int productID, int productPhotoID, bool primary, global::System.DateTime modifiedDate)
        {
            ProductProductPhoto productProductPhoto = new ProductProductPhoto();
            productProductPhoto.ProductID = productID;
            productProductPhoto.ProductPhotoID = productPhotoID;
            productProductPhoto.Primary = primary;
            productProductPhoto.ModifiedDate = modifiedDate;
            return productProductPhoto;
        }
        /// <summary>
        /// There are no comments for Property ProductID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this.ReportPropertyChanging("ProductID");
                this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductID");
                this.OnProductIDChanged();
            }
        }
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property ProductPhotoID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductPhotoID
        {
            get
            {
                return this._ProductPhotoID;
            }
            set
            {
                this.OnProductPhotoIDChanging(value);
                this.ReportPropertyChanging("ProductPhotoID");
                this._ProductPhotoID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductPhotoID");
                this.OnProductPhotoIDChanged();
            }
        }
        private int _ProductPhotoID;
        partial void OnProductPhotoIDChanging(int value);
        partial void OnProductPhotoIDChanged();
        /// <summary>
        /// There are no comments for Property Primary in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool Primary
        {
            get
            {
                return this._Primary;
            }
            set
            {
                this.OnPrimaryChanging(value);
                this.ReportPropertyChanging("Primary");
                this._Primary = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Primary");
                this.OnPrimaryChanged();
            }
        }
        private bool _Primary;
        partial void OnPrimaryChanging(bool value);
        partial void OnPrimaryChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductProductPhoto_Product_ProductID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Product Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "Product").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "Product").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Product> ProductReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Product>("AdventureWorksModel.FK_ProductProductPhoto_Product_ProductID", "Product", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductPhoto in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ProductPhoto ProductPhoto
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ProductPhoto in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ProductPhoto> ProductPhotoReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ProductPhoto>("AdventureWorksModel.FK_ProductProductPhoto_ProductPhoto_ProductPhotoID", "ProductPhoto", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductSubcategory in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductSubcategoryID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ProductSubcategory")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ProductSubcategory : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ProductSubcategory object.
        /// </summary>
        /// <param name="productSubcategoryID">Initial value of ProductSubcategoryID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ProductSubcategory CreateProductSubcategory(int productSubcategoryID, string name, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            ProductSubcategory productSubcategory = new ProductSubcategory();
            productSubcategory.ProductSubcategoryID = productSubcategoryID;
            productSubcategory.Name = name;
            productSubcategory.rowguid = rowguid;
            productSubcategory.ModifiedDate = modifiedDate;
            return productSubcategory;
        }
        /// <summary>
        /// There are no comments for Property ProductSubcategoryID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductSubcategoryID
        {
            get
            {
                return this._ProductSubcategoryID;
            }
            set
            {
                this.OnProductSubcategoryIDChanging(value);
                this.ReportPropertyChanging("ProductSubcategoryID");
                this._ProductSubcategoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductSubcategoryID");
                this.OnProductSubcategoryIDChanged();
            }
        }
        private int _ProductSubcategoryID;
        partial void OnProductSubcategoryIDChanging(int value);
        partial void OnProductSubcategoryIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Product_ProductSubcategory_ProductSubcategoryID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<Product> Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<Product>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<Product>("AdventureWorksModel.FK_Product_ProductSubcategory_ProductSubcategoryID", "Product", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ProductCategory in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ProductCategory ProductCategory
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductCategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductCategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ProductCategory in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ProductCategory> ProductCategoryReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ProductCategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ProductCategory>("AdventureWorksModel.FK_ProductSubcategory_ProductCategory_ProductCategoryID", "ProductCategory", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.WorkOrder in the schema.
    /// </summary>
    /// <KeyProperties>
    /// WorkOrderID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="WorkOrder")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class WorkOrder : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new WorkOrder object.
        /// </summary>
        /// <param name="workOrderID">Initial value of WorkOrderID.</param>
        /// <param name="orderQty">Initial value of OrderQty.</param>
        /// <param name="stockedQty">Initial value of StockedQty.</param>
        /// <param name="scrappedQty">Initial value of ScrappedQty.</param>
        /// <param name="startDate">Initial value of StartDate.</param>
        /// <param name="dueDate">Initial value of DueDate.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static WorkOrder CreateWorkOrder(int workOrderID, int orderQty, int stockedQty, short scrappedQty, global::System.DateTime startDate, global::System.DateTime dueDate, global::System.DateTime modifiedDate)
        {
            WorkOrder workOrder = new WorkOrder();
            workOrder.WorkOrderID = workOrderID;
            workOrder.OrderQty = orderQty;
            workOrder.StockedQty = stockedQty;
            workOrder.ScrappedQty = scrappedQty;
            workOrder.StartDate = startDate;
            workOrder.DueDate = dueDate;
            workOrder.ModifiedDate = modifiedDate;
            return workOrder;
        }
        /// <summary>
        /// There are no comments for Property WorkOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int WorkOrderID
        {
            get
            {
                return this._WorkOrderID;
            }
            set
            {
                this.OnWorkOrderIDChanging(value);
                this.ReportPropertyChanging("WorkOrderID");
                this._WorkOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("WorkOrderID");
                this.OnWorkOrderIDChanged();
            }
        }
        private int _WorkOrderID;
        partial void OnWorkOrderIDChanging(int value);
        partial void OnWorkOrderIDChanged();
        /// <summary>
        /// There are no comments for Property OrderQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int OrderQty
        {
            get
            {
                return this._OrderQty;
            }
            set
            {
                this.OnOrderQtyChanging(value);
                this.ReportPropertyChanging("OrderQty");
                this._OrderQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OrderQty");
                this.OnOrderQtyChanged();
            }
        }
        private int _OrderQty;
        partial void OnOrderQtyChanging(int value);
        partial void OnOrderQtyChanged();
        /// <summary>
        /// There are no comments for Property StockedQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int StockedQty
        {
            get
            {
                return this._StockedQty;
            }
            set
            {
                this.OnStockedQtyChanging(value);
                this.ReportPropertyChanging("StockedQty");
                this._StockedQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("StockedQty");
                this.OnStockedQtyChanged();
            }
        }
        private int _StockedQty;
        partial void OnStockedQtyChanging(int value);
        partial void OnStockedQtyChanged();
        /// <summary>
        /// There are no comments for Property ScrappedQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short ScrappedQty
        {
            get
            {
                return this._ScrappedQty;
            }
            set
            {
                this.OnScrappedQtyChanging(value);
                this.ReportPropertyChanging("ScrappedQty");
                this._ScrappedQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ScrappedQty");
                this.OnScrappedQtyChanged();
            }
        }
        private short _ScrappedQty;
        partial void OnScrappedQtyChanging(short value);
        partial void OnScrappedQtyChanged();
        /// <summary>
        /// There are no comments for Property StartDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime StartDate
        {
            get
            {
                return this._StartDate;
            }
            set
            {
                this.OnStartDateChanging(value);
                this.ReportPropertyChanging("StartDate");
                this._StartDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("StartDate");
                this.OnStartDateChanged();
            }
        }
        private global::System.DateTime _StartDate;
        partial void OnStartDateChanging(global::System.DateTime value);
        partial void OnStartDateChanged();
        /// <summary>
        /// There are no comments for Property EndDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> EndDate
        {
            get
            {
                return this._EndDate;
            }
            set
            {
                this.OnEndDateChanging(value);
                this.ReportPropertyChanging("EndDate");
                this._EndDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("EndDate");
                this.OnEndDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _EndDate;
        partial void OnEndDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnEndDateChanged();
        /// <summary>
        /// There are no comments for Property DueDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime DueDate
        {
            get
            {
                return this._DueDate;
            }
            set
            {
                this.OnDueDateChanging(value);
                this.ReportPropertyChanging("DueDate");
                this._DueDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DueDate");
                this.OnDueDateChanged();
            }
        }
        private global::System.DateTime _DueDate;
        partial void OnDueDateChanging(global::System.DateTime value);
        partial void OnDueDateChanged();
        /// <summary>
        /// There are no comments for Property ScrapReasonID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<short> ScrapReasonID
        {
            get
            {
                return this._ScrapReasonID;
            }
            set
            {
                this.OnScrapReasonIDChanging(value);
                this.ReportPropertyChanging("ScrapReasonID");
                this._ScrapReasonID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ScrapReasonID");
                this.OnScrapReasonIDChanged();
            }
        }
        private global::System.Nullable<short> _ScrapReasonID;
        partial void OnScrapReasonIDChanging(global::System.Nullable<short> value);
        partial void OnScrapReasonIDChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_WorkOrder_Product_ProductID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Product Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "Product").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "Product").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Product> ProductReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Product>("AdventureWorksModel.FK_WorkOrder_Product_ProductID", "Product", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for WorkOrderRouting in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrderRouting")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<WorkOrderRouting> WorkOrderRouting
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<WorkOrderRouting>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrderRouting");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<WorkOrderRouting>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrderRouting", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.WorkOrderRouting in the schema.
    /// </summary>
    /// <KeyProperties>
    /// WorkOrderID
    /// ProductID
    /// OperationSequence
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="WorkOrderRouting")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class WorkOrderRouting : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new WorkOrderRouting object.
        /// </summary>
        /// <param name="workOrderID">Initial value of WorkOrderID.</param>
        /// <param name="productID">Initial value of ProductID.</param>
        /// <param name="operationSequence">Initial value of OperationSequence.</param>
        /// <param name="locationID">Initial value of LocationID.</param>
        /// <param name="scheduledStartDate">Initial value of ScheduledStartDate.</param>
        /// <param name="scheduledEndDate">Initial value of ScheduledEndDate.</param>
        /// <param name="plannedCost">Initial value of PlannedCost.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static WorkOrderRouting CreateWorkOrderRouting(int workOrderID, int productID, short operationSequence, short locationID, global::System.DateTime scheduledStartDate, global::System.DateTime scheduledEndDate, decimal plannedCost, global::System.DateTime modifiedDate)
        {
            WorkOrderRouting workOrderRouting = new WorkOrderRouting();
            workOrderRouting.WorkOrderID = workOrderID;
            workOrderRouting.ProductID = productID;
            workOrderRouting.OperationSequence = operationSequence;
            workOrderRouting.LocationID = locationID;
            workOrderRouting.ScheduledStartDate = scheduledStartDate;
            workOrderRouting.ScheduledEndDate = scheduledEndDate;
            workOrderRouting.PlannedCost = plannedCost;
            workOrderRouting.ModifiedDate = modifiedDate;
            return workOrderRouting;
        }
        /// <summary>
        /// There are no comments for Property WorkOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int WorkOrderID
        {
            get
            {
                return this._WorkOrderID;
            }
            set
            {
                this.OnWorkOrderIDChanging(value);
                this.ReportPropertyChanging("WorkOrderID");
                this._WorkOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("WorkOrderID");
                this.OnWorkOrderIDChanged();
            }
        }
        private int _WorkOrderID;
        partial void OnWorkOrderIDChanging(int value);
        partial void OnWorkOrderIDChanged();
        /// <summary>
        /// There are no comments for Property ProductID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this.ReportPropertyChanging("ProductID");
                this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductID");
                this.OnProductIDChanged();
            }
        }
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property OperationSequence in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short OperationSequence
        {
            get
            {
                return this._OperationSequence;
            }
            set
            {
                this.OnOperationSequenceChanging(value);
                this.ReportPropertyChanging("OperationSequence");
                this._OperationSequence = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OperationSequence");
                this.OnOperationSequenceChanged();
            }
        }
        private short _OperationSequence;
        partial void OnOperationSequenceChanging(short value);
        partial void OnOperationSequenceChanged();
        /// <summary>
        /// There are no comments for Property LocationID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short LocationID
        {
            get
            {
                return this._LocationID;
            }
            set
            {
                this.OnLocationIDChanging(value);
                this.ReportPropertyChanging("LocationID");
                this._LocationID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("LocationID");
                this.OnLocationIDChanged();
            }
        }
        private short _LocationID;
        partial void OnLocationIDChanging(short value);
        partial void OnLocationIDChanged();
        /// <summary>
        /// There are no comments for Property ScheduledStartDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ScheduledStartDate
        {
            get
            {
                return this._ScheduledStartDate;
            }
            set
            {
                this.OnScheduledStartDateChanging(value);
                this.ReportPropertyChanging("ScheduledStartDate");
                this._ScheduledStartDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ScheduledStartDate");
                this.OnScheduledStartDateChanged();
            }
        }
        private global::System.DateTime _ScheduledStartDate;
        partial void OnScheduledStartDateChanging(global::System.DateTime value);
        partial void OnScheduledStartDateChanged();
        /// <summary>
        /// There are no comments for Property ScheduledEndDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ScheduledEndDate
        {
            get
            {
                return this._ScheduledEndDate;
            }
            set
            {
                this.OnScheduledEndDateChanging(value);
                this.ReportPropertyChanging("ScheduledEndDate");
                this._ScheduledEndDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ScheduledEndDate");
                this.OnScheduledEndDateChanged();
            }
        }
        private global::System.DateTime _ScheduledEndDate;
        partial void OnScheduledEndDateChanging(global::System.DateTime value);
        partial void OnScheduledEndDateChanged();
        /// <summary>
        /// There are no comments for Property ActualStartDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> ActualStartDate
        {
            get
            {
                return this._ActualStartDate;
            }
            set
            {
                this.OnActualStartDateChanging(value);
                this.ReportPropertyChanging("ActualStartDate");
                this._ActualStartDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ActualStartDate");
                this.OnActualStartDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _ActualStartDate;
        partial void OnActualStartDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnActualStartDateChanged();
        /// <summary>
        /// There are no comments for Property ActualEndDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> ActualEndDate
        {
            get
            {
                return this._ActualEndDate;
            }
            set
            {
                this.OnActualEndDateChanging(value);
                this.ReportPropertyChanging("ActualEndDate");
                this._ActualEndDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ActualEndDate");
                this.OnActualEndDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _ActualEndDate;
        partial void OnActualEndDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnActualEndDateChanged();
        /// <summary>
        /// There are no comments for Property ActualResourceHrs in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<decimal> ActualResourceHrs
        {
            get
            {
                return this._ActualResourceHrs;
            }
            set
            {
                this.OnActualResourceHrsChanging(value);
                this.ReportPropertyChanging("ActualResourceHrs");
                this._ActualResourceHrs = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ActualResourceHrs");
                this.OnActualResourceHrsChanged();
            }
        }
        private global::System.Nullable<decimal> _ActualResourceHrs;
        partial void OnActualResourceHrsChanging(global::System.Nullable<decimal> value);
        partial void OnActualResourceHrsChanged();
        /// <summary>
        /// There are no comments for Property PlannedCost in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal PlannedCost
        {
            get
            {
                return this._PlannedCost;
            }
            set
            {
                this.OnPlannedCostChanging(value);
                this.ReportPropertyChanging("PlannedCost");
                this._PlannedCost = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("PlannedCost");
                this.OnPlannedCostChanged();
            }
        }
        private decimal _PlannedCost;
        partial void OnPlannedCostChanging(decimal value);
        partial void OnPlannedCostChanged();
        /// <summary>
        /// There are no comments for Property ActualCost in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<decimal> ActualCost
        {
            get
            {
                return this._ActualCost;
            }
            set
            {
                this.OnActualCostChanging(value);
                this.ReportPropertyChanging("ActualCost");
                this._ActualCost = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ActualCost");
                this.OnActualCostChanged();
            }
        }
        private global::System.Nullable<decimal> _ActualCost;
        partial void OnActualCostChanging(global::System.Nullable<decimal> value);
        partial void OnActualCostChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for WorkOrder in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public WorkOrder WorkOrder
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<WorkOrder>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<WorkOrder>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for WorkOrder in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<WorkOrder> WorkOrderReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<WorkOrder>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<WorkOrder>("AdventureWorksModel.FK_WorkOrderRouting_WorkOrder_WorkOrderID", "WorkOrder", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.PurchaseOrderDetail in the schema.
    /// </summary>
    /// <KeyProperties>
    /// PurchaseOrderID
    /// PurchaseOrderDetailID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="PurchaseOrderDetail")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class PurchaseOrderDetail : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new PurchaseOrderDetail object.
        /// </summary>
        /// <param name="purchaseOrderID">Initial value of PurchaseOrderID.</param>
        /// <param name="purchaseOrderDetailID">Initial value of PurchaseOrderDetailID.</param>
        /// <param name="dueDate">Initial value of DueDate.</param>
        /// <param name="orderQty">Initial value of OrderQty.</param>
        /// <param name="unitPrice">Initial value of UnitPrice.</param>
        /// <param name="lineTotal">Initial value of LineTotal.</param>
        /// <param name="receivedQty">Initial value of ReceivedQty.</param>
        /// <param name="rejectedQty">Initial value of RejectedQty.</param>
        /// <param name="stockedQty">Initial value of StockedQty.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static PurchaseOrderDetail CreatePurchaseOrderDetail(int purchaseOrderID, int purchaseOrderDetailID, global::System.DateTime dueDate, short orderQty, decimal unitPrice, decimal lineTotal, decimal receivedQty, decimal rejectedQty, decimal stockedQty, global::System.DateTime modifiedDate)
        {
            PurchaseOrderDetail purchaseOrderDetail = new PurchaseOrderDetail();
            purchaseOrderDetail.PurchaseOrderID = purchaseOrderID;
            purchaseOrderDetail.PurchaseOrderDetailID = purchaseOrderDetailID;
            purchaseOrderDetail.DueDate = dueDate;
            purchaseOrderDetail.OrderQty = orderQty;
            purchaseOrderDetail.UnitPrice = unitPrice;
            purchaseOrderDetail.LineTotal = lineTotal;
            purchaseOrderDetail.ReceivedQty = receivedQty;
            purchaseOrderDetail.RejectedQty = rejectedQty;
            purchaseOrderDetail.StockedQty = stockedQty;
            purchaseOrderDetail.ModifiedDate = modifiedDate;
            return purchaseOrderDetail;
        }
        /// <summary>
        /// There are no comments for Property PurchaseOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int PurchaseOrderID
        {
            get
            {
                return this._PurchaseOrderID;
            }
            set
            {
                this.OnPurchaseOrderIDChanging(value);
                this.ReportPropertyChanging("PurchaseOrderID");
                this._PurchaseOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("PurchaseOrderID");
                this.OnPurchaseOrderIDChanged();
            }
        }
        private int _PurchaseOrderID;
        partial void OnPurchaseOrderIDChanging(int value);
        partial void OnPurchaseOrderIDChanged();
        /// <summary>
        /// There are no comments for Property PurchaseOrderDetailID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int PurchaseOrderDetailID
        {
            get
            {
                return this._PurchaseOrderDetailID;
            }
            set
            {
                this.OnPurchaseOrderDetailIDChanging(value);
                this.ReportPropertyChanging("PurchaseOrderDetailID");
                this._PurchaseOrderDetailID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("PurchaseOrderDetailID");
                this.OnPurchaseOrderDetailIDChanged();
            }
        }
        private int _PurchaseOrderDetailID;
        partial void OnPurchaseOrderDetailIDChanging(int value);
        partial void OnPurchaseOrderDetailIDChanged();
        /// <summary>
        /// There are no comments for Property DueDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime DueDate
        {
            get
            {
                return this._DueDate;
            }
            set
            {
                this.OnDueDateChanging(value);
                this.ReportPropertyChanging("DueDate");
                this._DueDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DueDate");
                this.OnDueDateChanged();
            }
        }
        private global::System.DateTime _DueDate;
        partial void OnDueDateChanging(global::System.DateTime value);
        partial void OnDueDateChanged();
        /// <summary>
        /// There are no comments for Property OrderQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short OrderQty
        {
            get
            {
                return this._OrderQty;
            }
            set
            {
                this.OnOrderQtyChanging(value);
                this.ReportPropertyChanging("OrderQty");
                this._OrderQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OrderQty");
                this.OnOrderQtyChanged();
            }
        }
        private short _OrderQty;
        partial void OnOrderQtyChanging(short value);
        partial void OnOrderQtyChanged();
        /// <summary>
        /// There are no comments for Property UnitPrice in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal UnitPrice
        {
            get
            {
                return this._UnitPrice;
            }
            set
            {
                this.OnUnitPriceChanging(value);
                this.ReportPropertyChanging("UnitPrice");
                this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("UnitPrice");
                this.OnUnitPriceChanged();
            }
        }
        private decimal _UnitPrice;
        partial void OnUnitPriceChanging(decimal value);
        partial void OnUnitPriceChanged();
        /// <summary>
        /// There are no comments for Property LineTotal in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal LineTotal
        {
            get
            {
                return this._LineTotal;
            }
            set
            {
                this.OnLineTotalChanging(value);
                this.ReportPropertyChanging("LineTotal");
                this._LineTotal = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("LineTotal");
                this.OnLineTotalChanged();
            }
        }
        private decimal _LineTotal;
        partial void OnLineTotalChanging(decimal value);
        partial void OnLineTotalChanged();
        /// <summary>
        /// There are no comments for Property ReceivedQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal ReceivedQty
        {
            get
            {
                return this._ReceivedQty;
            }
            set
            {
                this.OnReceivedQtyChanging(value);
                this.ReportPropertyChanging("ReceivedQty");
                this._ReceivedQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ReceivedQty");
                this.OnReceivedQtyChanged();
            }
        }
        private decimal _ReceivedQty;
        partial void OnReceivedQtyChanging(decimal value);
        partial void OnReceivedQtyChanged();
        /// <summary>
        /// There are no comments for Property RejectedQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal RejectedQty
        {
            get
            {
                return this._RejectedQty;
            }
            set
            {
                this.OnRejectedQtyChanging(value);
                this.ReportPropertyChanging("RejectedQty");
                this._RejectedQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("RejectedQty");
                this.OnRejectedQtyChanged();
            }
        }
        private decimal _RejectedQty;
        partial void OnRejectedQtyChanging(decimal value);
        partial void OnRejectedQtyChanged();
        /// <summary>
        /// There are no comments for Property StockedQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal StockedQty
        {
            get
            {
                return this._StockedQty;
            }
            set
            {
                this.OnStockedQtyChanging(value);
                this.ReportPropertyChanging("StockedQty");
                this._StockedQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("StockedQty");
                this.OnStockedQtyChanged();
            }
        }
        private decimal _StockedQty;
        partial void OnStockedQtyChanging(decimal value);
        partial void OnStockedQtyChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_Product_ProductID", "Product")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Product Product
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "Product").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "Product").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Product> ProductReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Product>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "Product");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Product>("AdventureWorksModel.FK_PurchaseOrderDetail_Product_ProductID", "Product", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for PurchaseOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public PurchaseOrderHeader PurchaseOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for PurchaseOrderHeader in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<PurchaseOrderHeader> PurchaseOrderHeaderReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderHeader", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.PurchaseOrderHeader in the schema.
    /// </summary>
    /// <KeyProperties>
    /// PurchaseOrderID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="PurchaseOrderHeader")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class PurchaseOrderHeader : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new PurchaseOrderHeader object.
        /// </summary>
        /// <param name="purchaseOrderID">Initial value of PurchaseOrderID.</param>
        /// <param name="revisionNumber">Initial value of RevisionNumber.</param>
        /// <param name="status">Initial value of Status.</param>
        /// <param name="employeeID">Initial value of EmployeeID.</param>
        /// <param name="vendorID">Initial value of VendorID.</param>
        /// <param name="orderDate">Initial value of OrderDate.</param>
        /// <param name="subTotal">Initial value of SubTotal.</param>
        /// <param name="taxAmt">Initial value of TaxAmt.</param>
        /// <param name="freight">Initial value of Freight.</param>
        /// <param name="totalDue">Initial value of TotalDue.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static PurchaseOrderHeader CreatePurchaseOrderHeader(int purchaseOrderID, byte revisionNumber, byte status, int employeeID, int vendorID, global::System.DateTime orderDate, decimal subTotal, decimal taxAmt, decimal freight, decimal totalDue, global::System.DateTime modifiedDate)
        {
            PurchaseOrderHeader purchaseOrderHeader = new PurchaseOrderHeader();
            purchaseOrderHeader.PurchaseOrderID = purchaseOrderID;
            purchaseOrderHeader.RevisionNumber = revisionNumber;
            purchaseOrderHeader.Status = status;
            purchaseOrderHeader.EmployeeID = employeeID;
            purchaseOrderHeader.VendorID = vendorID;
            purchaseOrderHeader.OrderDate = orderDate;
            purchaseOrderHeader.SubTotal = subTotal;
            purchaseOrderHeader.TaxAmt = taxAmt;
            purchaseOrderHeader.Freight = freight;
            purchaseOrderHeader.TotalDue = totalDue;
            purchaseOrderHeader.ModifiedDate = modifiedDate;
            return purchaseOrderHeader;
        }
        /// <summary>
        /// There are no comments for Property PurchaseOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int PurchaseOrderID
        {
            get
            {
                return this._PurchaseOrderID;
            }
            set
            {
                this.OnPurchaseOrderIDChanging(value);
                this.ReportPropertyChanging("PurchaseOrderID");
                this._PurchaseOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("PurchaseOrderID");
                this.OnPurchaseOrderIDChanged();
            }
        }
        private int _PurchaseOrderID;
        partial void OnPurchaseOrderIDChanging(int value);
        partial void OnPurchaseOrderIDChanged();
        /// <summary>
        /// There are no comments for Property RevisionNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte RevisionNumber
        {
            get
            {
                return this._RevisionNumber;
            }
            set
            {
                this.OnRevisionNumberChanging(value);
                this.ReportPropertyChanging("RevisionNumber");
                this._RevisionNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("RevisionNumber");
                this.OnRevisionNumberChanged();
            }
        }
        private byte _RevisionNumber;
        partial void OnRevisionNumberChanging(byte value);
        partial void OnRevisionNumberChanged();
        /// <summary>
        /// There are no comments for Property Status in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte Status
        {
            get
            {
                return this._Status;
            }
            set
            {
                this.OnStatusChanging(value);
                this.ReportPropertyChanging("Status");
                this._Status = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Status");
                this.OnStatusChanged();
            }
        }
        private byte _Status;
        partial void OnStatusChanging(byte value);
        partial void OnStatusChanged();
        /// <summary>
        /// There are no comments for Property EmployeeID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int EmployeeID
        {
            get
            {
                return this._EmployeeID;
            }
            set
            {
                this.OnEmployeeIDChanging(value);
                this.ReportPropertyChanging("EmployeeID");
                this._EmployeeID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("EmployeeID");
                this.OnEmployeeIDChanged();
            }
        }
        private int _EmployeeID;
        partial void OnEmployeeIDChanging(int value);
        partial void OnEmployeeIDChanged();
        /// <summary>
        /// There are no comments for Property VendorID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int VendorID
        {
            get
            {
                return this._VendorID;
            }
            set
            {
                this.OnVendorIDChanging(value);
                this.ReportPropertyChanging("VendorID");
                this._VendorID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("VendorID");
                this.OnVendorIDChanged();
            }
        }
        private int _VendorID;
        partial void OnVendorIDChanging(int value);
        partial void OnVendorIDChanged();
        /// <summary>
        /// There are no comments for Property OrderDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime OrderDate
        {
            get
            {
                return this._OrderDate;
            }
            set
            {
                this.OnOrderDateChanging(value);
                this.ReportPropertyChanging("OrderDate");
                this._OrderDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OrderDate");
                this.OnOrderDateChanged();
            }
        }
        private global::System.DateTime _OrderDate;
        partial void OnOrderDateChanging(global::System.DateTime value);
        partial void OnOrderDateChanged();
        /// <summary>
        /// There are no comments for Property ShipDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> ShipDate
        {
            get
            {
                return this._ShipDate;
            }
            set
            {
                this.OnShipDateChanging(value);
                this.ReportPropertyChanging("ShipDate");
                this._ShipDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ShipDate");
                this.OnShipDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _ShipDate;
        partial void OnShipDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnShipDateChanged();
        /// <summary>
        /// There are no comments for Property SubTotal in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal SubTotal
        {
            get
            {
                return this._SubTotal;
            }
            set
            {
                this.OnSubTotalChanging(value);
                this.ReportPropertyChanging("SubTotal");
                this._SubTotal = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SubTotal");
                this.OnSubTotalChanged();
            }
        }
        private decimal _SubTotal;
        partial void OnSubTotalChanging(decimal value);
        partial void OnSubTotalChanged();
        /// <summary>
        /// There are no comments for Property TaxAmt in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal TaxAmt
        {
            get
            {
                return this._TaxAmt;
            }
            set
            {
                this.OnTaxAmtChanging(value);
                this.ReportPropertyChanging("TaxAmt");
                this._TaxAmt = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TaxAmt");
                this.OnTaxAmtChanged();
            }
        }
        private decimal _TaxAmt;
        partial void OnTaxAmtChanging(decimal value);
        partial void OnTaxAmtChanged();
        /// <summary>
        /// There are no comments for Property Freight in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal Freight
        {
            get
            {
                return this._Freight;
            }
            set
            {
                this.OnFreightChanging(value);
                this.ReportPropertyChanging("Freight");
                this._Freight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Freight");
                this.OnFreightChanged();
            }
        }
        private decimal _Freight;
        partial void OnFreightChanging(decimal value);
        partial void OnFreightChanged();
        /// <summary>
        /// There are no comments for Property TotalDue in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal TotalDue
        {
            get
            {
                return this._TotalDue;
            }
            set
            {
                this.OnTotalDueChanging(value);
                this.ReportPropertyChanging("TotalDue");
                this._TotalDue = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TotalDue");
                this.OnTotalDueChanged();
            }
        }
        private decimal _TotalDue;
        partial void OnTotalDueChanging(decimal value);
        partial void OnTotalDueChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for PurchaseOrderDetail in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderDetail")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<PurchaseOrderDetail> PurchaseOrderDetail
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<PurchaseOrderDetail>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderDetail");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<PurchaseOrderDetail>("AdventureWorksModel.FK_PurchaseOrderDetail_PurchaseOrderHeader_PurchaseOrderID", "PurchaseOrderDetail", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ShipMethod in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ShipMethod ShipMethod
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ShipMethod in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ShipMethod> ShipMethodReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ShipMethod>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "ShipMethod", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Customer in the schema.
    /// </summary>
    /// <KeyProperties>
    /// CustomerID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Customer")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Customer : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Customer object.
        /// </summary>
        /// <param name="customerID">Initial value of CustomerID.</param>
        /// <param name="accountNumber">Initial value of AccountNumber.</param>
        /// <param name="customerType">Initial value of CustomerType.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Customer CreateCustomer(int customerID, string accountNumber, string customerType, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            Customer customer = new Customer();
            customer.CustomerID = customerID;
            customer.AccountNumber = accountNumber;
            customer.CustomerType = customerType;
            customer.rowguid = rowguid;
            customer.ModifiedDate = modifiedDate;
            return customer;
        }
        /// <summary>
        /// There are no comments for Property CustomerID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int CustomerID
        {
            get
            {
                return this._CustomerID;
            }
            set
            {
                this.OnCustomerIDChanging(value);
                this.ReportPropertyChanging("CustomerID");
                this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CustomerID");
                this.OnCustomerIDChanged();
            }
        }
        private int _CustomerID;
        partial void OnCustomerIDChanging(int value);
        partial void OnCustomerIDChanged();
        /// <summary>
        /// There are no comments for Property TerritoryID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> TerritoryID
        {
            get
            {
                return this._TerritoryID;
            }
            set
            {
                this.OnTerritoryIDChanging(value);
                this.ReportPropertyChanging("TerritoryID");
                this._TerritoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TerritoryID");
                this.OnTerritoryIDChanged();
            }
        }
        private global::System.Nullable<int> _TerritoryID;
        partial void OnTerritoryIDChanging(global::System.Nullable<int> value);
        partial void OnTerritoryIDChanged();
        /// <summary>
        /// There are no comments for Property AccountNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string AccountNumber
        {
            get
            {
                return this._AccountNumber;
            }
            set
            {
                this.OnAccountNumberChanging(value);
                this.ReportPropertyChanging("AccountNumber");
                this._AccountNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("AccountNumber");
                this.OnAccountNumberChanged();
            }
        }
        private string _AccountNumber;
        partial void OnAccountNumberChanging(string value);
        partial void OnAccountNumberChanged();
        /// <summary>
        /// There are no comments for Property CustomerType in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string CustomerType
        {
            get
            {
                return this._CustomerType;
            }
            set
            {
                this.OnCustomerTypeChanging(value);
                this.ReportPropertyChanging("CustomerType");
                this._CustomerType = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("CustomerType");
                this.OnCustomerTypeChanged();
            }
        }
        private string _CustomerType;
        partial void OnCustomerTypeChanging(string value);
        partial void OnCustomerTypeChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for CustomerAddress in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_Customer_CustomerID", "CustomerAddress")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<CustomerAddress> CustomerAddress
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "CustomerAddress");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<CustomerAddress>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "CustomerAddress", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Individual in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Individual_Customer_CustomerID", "Individual")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Individual Individual
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Individual>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Individual").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Individual>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Individual").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Individual in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Individual> IndividualReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Individual>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Individual");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Individual>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Individual", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Store in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Store_Customer_CustomerID", "Store")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Store Store
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Store>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Store").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Store>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Store").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Store in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Store> StoreReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Store>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Store");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Store>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Store", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Customer_CustomerID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderHeader> SalesOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "SalesOrderHeader", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.CustomerAddress in the schema.
    /// </summary>
    /// <KeyProperties>
    /// CustomerID
    /// AddressID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="CustomerAddress")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class CustomerAddress : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new CustomerAddress object.
        /// </summary>
        /// <param name="customerID">Initial value of CustomerID.</param>
        /// <param name="addressID">Initial value of AddressID.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static CustomerAddress CreateCustomerAddress(int customerID, int addressID, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            CustomerAddress customerAddress = new CustomerAddress();
            customerAddress.CustomerID = customerID;
            customerAddress.AddressID = addressID;
            customerAddress.rowguid = rowguid;
            customerAddress.ModifiedDate = modifiedDate;
            return customerAddress;
        }
        /// <summary>
        /// There are no comments for Property CustomerID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int CustomerID
        {
            get
            {
                return this._CustomerID;
            }
            set
            {
                this.OnCustomerIDChanging(value);
                this.ReportPropertyChanging("CustomerID");
                this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CustomerID");
                this.OnCustomerIDChanged();
            }
        }
        private int _CustomerID;
        partial void OnCustomerIDChanging(int value);
        partial void OnCustomerIDChanged();
        /// <summary>
        /// There are no comments for Property AddressID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int AddressID
        {
            get
            {
                return this._AddressID;
            }
            set
            {
                this.OnAddressIDChanging(value);
                this.ReportPropertyChanging("AddressID");
                this._AddressID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("AddressID");
                this.OnAddressIDChanged();
            }
        }
        private int _AddressID;
        partial void OnAddressIDChanging(int value);
        partial void OnAddressIDChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Address in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_Address_AddressID", "Address")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Address Address
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "Address").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "Address").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Address in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Address> AddressReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "Address");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Address>("AdventureWorksModel.FK_CustomerAddress_Address_AddressID", "Address", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for AddressType in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_AddressType_AddressTypeID", "AddressType")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public AddressType AddressType
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<AddressType>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "AddressType").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<AddressType>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "AddressType").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for AddressType in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<AddressType> AddressTypeReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<AddressType>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "AddressType");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<AddressType>("AdventureWorksModel.FK_CustomerAddress_AddressType_AddressTypeID", "AddressType", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_CustomerAddress_Customer_CustomerID", "Customer")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Customer Customer
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "Customer").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "Customer").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Customer> CustomerReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "Customer");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Customer>("AdventureWorksModel.FK_CustomerAddress_Customer_CustomerID", "Customer", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Individual in the schema.
    /// </summary>
    /// <KeyProperties>
    /// CustomerID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Individual")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Individual : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Individual object.
        /// </summary>
        /// <param name="customerID">Initial value of CustomerID.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Individual CreateIndividual(int customerID, global::System.DateTime modifiedDate)
        {
            Individual individual = new Individual();
            individual.CustomerID = customerID;
            individual.ModifiedDate = modifiedDate;
            return individual;
        }
        /// <summary>
        /// There are no comments for Property CustomerID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int CustomerID
        {
            get
            {
                return this._CustomerID;
            }
            set
            {
                this.OnCustomerIDChanging(value);
                this.ReportPropertyChanging("CustomerID");
                this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CustomerID");
                this.OnCustomerIDChanged();
            }
        }
        private int _CustomerID;
        partial void OnCustomerIDChanging(int value);
        partial void OnCustomerIDChanged();
        /// <summary>
        /// There are no comments for Property Demographics in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Demographics
        {
            get
            {
                return this._Demographics;
            }
            set
            {
                this.OnDemographicsChanging(value);
                this.ReportPropertyChanging("Demographics");
                this._Demographics = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Demographics");
                this.OnDemographicsChanged();
            }
        }
        private string _Demographics;
        partial void OnDemographicsChanging(string value);
        partial void OnDemographicsChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Contact in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Individual_Contact_ContactID", "Contact")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Contact Contact
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Contact").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Contact").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Contact in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Contact> ContactReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Contact");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Contact>("AdventureWorksModel.FK_Individual_Contact_ContactID", "Contact", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Individual_Customer_CustomerID", "Customer")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Customer Customer
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Customer").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Customer").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Customer> CustomerReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Customer");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Customer>("AdventureWorksModel.FK_Individual_Customer_CustomerID", "Customer", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Store in the schema.
    /// </summary>
    /// <KeyProperties>
    /// CustomerID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="Store")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class Store : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new Store object.
        /// </summary>
        /// <param name="customerID">Initial value of CustomerID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static Store CreateStore(int customerID, string name, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            Store store = new Store();
            store.CustomerID = customerID;
            store.Name = name;
            store.rowguid = rowguid;
            store.ModifiedDate = modifiedDate;
            return store;
        }
        /// <summary>
        /// There are no comments for Property CustomerID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int CustomerID
        {
            get
            {
                return this._CustomerID;
            }
            set
            {
                this.OnCustomerIDChanging(value);
                this.ReportPropertyChanging("CustomerID");
                this._CustomerID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CustomerID");
                this.OnCustomerIDChanged();
            }
        }
        private int _CustomerID;
        partial void OnCustomerIDChanging(int value);
        partial void OnCustomerIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property SalesPersonID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> SalesPersonID
        {
            get
            {
                return this._SalesPersonID;
            }
            set
            {
                this.OnSalesPersonIDChanging(value);
                this.ReportPropertyChanging("SalesPersonID");
                this._SalesPersonID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SalesPersonID");
                this.OnSalesPersonIDChanged();
            }
        }
        private global::System.Nullable<int> _SalesPersonID;
        partial void OnSalesPersonIDChanging(global::System.Nullable<int> value);
        partial void OnSalesPersonIDChanged();
        /// <summary>
        /// There are no comments for Property Demographics in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Demographics
        {
            get
            {
                return this._Demographics;
            }
            set
            {
                this.OnDemographicsChanging(value);
                this.ReportPropertyChanging("Demographics");
                this._Demographics = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Demographics");
                this.OnDemographicsChanged();
            }
        }
        private string _Demographics;
        partial void OnDemographicsChanging(string value);
        partial void OnDemographicsChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_Store_Customer_CustomerID", "Customer")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Customer Customer
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Customer").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Customer").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Customer> CustomerReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Customer");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Customer>("AdventureWorksModel.FK_Store_Customer_CustomerID", "Customer", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.SalesOrderDetail in the schema.
    /// </summary>
    /// <KeyProperties>
    /// SalesOrderID
    /// SalesOrderDetailID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="SalesOrderDetail")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class SalesOrderDetail : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new SalesOrderDetail object.
        /// </summary>
        /// <param name="salesOrderID">Initial value of SalesOrderID.</param>
        /// <param name="salesOrderDetailID">Initial value of SalesOrderDetailID.</param>
        /// <param name="orderQty">Initial value of OrderQty.</param>
        /// <param name="productID">Initial value of ProductID.</param>
        /// <param name="specialOfferID">Initial value of SpecialOfferID.</param>
        /// <param name="unitPrice">Initial value of UnitPrice.</param>
        /// <param name="unitPriceDiscount">Initial value of UnitPriceDiscount.</param>
        /// <param name="lineTotal">Initial value of LineTotal.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static SalesOrderDetail CreateSalesOrderDetail(int salesOrderID, int salesOrderDetailID, short orderQty, int productID, int specialOfferID, decimal unitPrice, decimal unitPriceDiscount, decimal lineTotal, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            SalesOrderDetail salesOrderDetail = new SalesOrderDetail();
            salesOrderDetail.SalesOrderID = salesOrderID;
            salesOrderDetail.SalesOrderDetailID = salesOrderDetailID;
            salesOrderDetail.OrderQty = orderQty;
            salesOrderDetail.ProductID = productID;
            salesOrderDetail.SpecialOfferID = specialOfferID;
            salesOrderDetail.UnitPrice = unitPrice;
            salesOrderDetail.UnitPriceDiscount = unitPriceDiscount;
            salesOrderDetail.LineTotal = lineTotal;
            salesOrderDetail.rowguid = rowguid;
            salesOrderDetail.ModifiedDate = modifiedDate;
            return salesOrderDetail;
        }
        /// <summary>
        /// There are no comments for Property SalesOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int SalesOrderID
        {
            get
            {
                return this._SalesOrderID;
            }
            set
            {
                this.OnSalesOrderIDChanging(value);
                this.ReportPropertyChanging("SalesOrderID");
                this._SalesOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SalesOrderID");
                this.OnSalesOrderIDChanged();
            }
        }
        private int _SalesOrderID;
        partial void OnSalesOrderIDChanging(int value);
        partial void OnSalesOrderIDChanged();
        /// <summary>
        /// There are no comments for Property SalesOrderDetailID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int SalesOrderDetailID
        {
            get
            {
                return this._SalesOrderDetailID;
            }
            set
            {
                this.OnSalesOrderDetailIDChanging(value);
                this.ReportPropertyChanging("SalesOrderDetailID");
                this._SalesOrderDetailID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SalesOrderDetailID");
                this.OnSalesOrderDetailIDChanged();
            }
        }
        private int _SalesOrderDetailID;
        partial void OnSalesOrderDetailIDChanging(int value);
        partial void OnSalesOrderDetailIDChanged();
        /// <summary>
        /// There are no comments for Property CarrierTrackingNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string CarrierTrackingNumber
        {
            get
            {
                return this._CarrierTrackingNumber;
            }
            set
            {
                this.OnCarrierTrackingNumberChanging(value);
                this.ReportPropertyChanging("CarrierTrackingNumber");
                this._CarrierTrackingNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("CarrierTrackingNumber");
                this.OnCarrierTrackingNumberChanged();
            }
        }
        private string _CarrierTrackingNumber;
        partial void OnCarrierTrackingNumberChanging(string value);
        partial void OnCarrierTrackingNumberChanged();
        /// <summary>
        /// There are no comments for Property OrderQty in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public short OrderQty
        {
            get
            {
                return this._OrderQty;
            }
            set
            {
                this.OnOrderQtyChanging(value);
                this.ReportPropertyChanging("OrderQty");
                this._OrderQty = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OrderQty");
                this.OnOrderQtyChanged();
            }
        }
        private short _OrderQty;
        partial void OnOrderQtyChanging(short value);
        partial void OnOrderQtyChanged();
        /// <summary>
        /// There are no comments for Property ProductID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this.ReportPropertyChanging("ProductID");
                this._ProductID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ProductID");
                this.OnProductIDChanged();
            }
        }
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property SpecialOfferID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int SpecialOfferID
        {
            get
            {
                return this._SpecialOfferID;
            }
            set
            {
                this.OnSpecialOfferIDChanging(value);
                this.ReportPropertyChanging("SpecialOfferID");
                this._SpecialOfferID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SpecialOfferID");
                this.OnSpecialOfferIDChanged();
            }
        }
        private int _SpecialOfferID;
        partial void OnSpecialOfferIDChanging(int value);
        partial void OnSpecialOfferIDChanged();
        /// <summary>
        /// There are no comments for Property UnitPrice in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal UnitPrice
        {
            get
            {
                return this._UnitPrice;
            }
            set
            {
                this.OnUnitPriceChanging(value);
                this.ReportPropertyChanging("UnitPrice");
                this._UnitPrice = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("UnitPrice");
                this.OnUnitPriceChanged();
            }
        }
        private decimal _UnitPrice;
        partial void OnUnitPriceChanging(decimal value);
        partial void OnUnitPriceChanged();
        /// <summary>
        /// There are no comments for Property UnitPriceDiscount in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal UnitPriceDiscount
        {
            get
            {
                return this._UnitPriceDiscount;
            }
            set
            {
                this.OnUnitPriceDiscountChanging(value);
                this.ReportPropertyChanging("UnitPriceDiscount");
                this._UnitPriceDiscount = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("UnitPriceDiscount");
                this.OnUnitPriceDiscountChanged();
            }
        }
        private decimal _UnitPriceDiscount;
        partial void OnUnitPriceDiscountChanging(decimal value);
        partial void OnUnitPriceDiscountChanged();
        /// <summary>
        /// There are no comments for Property LineTotal in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal LineTotal
        {
            get
            {
                return this._LineTotal;
            }
            set
            {
                this.OnLineTotalChanging(value);
                this.ReportPropertyChanging("LineTotal");
                this._LineTotal = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("LineTotal");
                this.OnLineTotalChanged();
            }
        }
        private decimal _LineTotal;
        partial void OnLineTotalChanging(decimal value);
        partial void OnLineTotalChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public SalesOrderHeader SalesOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<SalesOrderHeader> SalesOrderHeaderReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderHeader", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.SalesOrderHeader in the schema.
    /// </summary>
    /// <KeyProperties>
    /// SalesOrderID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="SalesOrderHeader")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class SalesOrderHeader : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new SalesOrderHeader object.
        /// </summary>
        /// <param name="salesOrderID">Initial value of SalesOrderID.</param>
        /// <param name="revisionNumber">Initial value of RevisionNumber.</param>
        /// <param name="orderDate">Initial value of OrderDate.</param>
        /// <param name="dueDate">Initial value of DueDate.</param>
        /// <param name="status">Initial value of Status.</param>
        /// <param name="onlineOrderFlag">Initial value of OnlineOrderFlag.</param>
        /// <param name="salesOrderNumber">Initial value of SalesOrderNumber.</param>
        /// <param name="subTotal">Initial value of SubTotal.</param>
        /// <param name="taxAmt">Initial value of TaxAmt.</param>
        /// <param name="freight">Initial value of Freight.</param>
        /// <param name="totalDue">Initial value of TotalDue.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static SalesOrderHeader CreateSalesOrderHeader(int salesOrderID, byte revisionNumber, global::System.DateTime orderDate, global::System.DateTime dueDate, byte status, bool onlineOrderFlag, string salesOrderNumber, decimal subTotal, decimal taxAmt, decimal freight, decimal totalDue, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            SalesOrderHeader salesOrderHeader = new SalesOrderHeader();
            salesOrderHeader.SalesOrderID = salesOrderID;
            salesOrderHeader.RevisionNumber = revisionNumber;
            salesOrderHeader.OrderDate = orderDate;
            salesOrderHeader.DueDate = dueDate;
            salesOrderHeader.Status = status;
            salesOrderHeader.OnlineOrderFlag = onlineOrderFlag;
            salesOrderHeader.SalesOrderNumber = salesOrderNumber;
            salesOrderHeader.SubTotal = subTotal;
            salesOrderHeader.TaxAmt = taxAmt;
            salesOrderHeader.Freight = freight;
            salesOrderHeader.TotalDue = totalDue;
            salesOrderHeader.rowguid = rowguid;
            salesOrderHeader.ModifiedDate = modifiedDate;
            return salesOrderHeader;
        }
        /// <summary>
        /// There are no comments for Property SalesOrderID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int SalesOrderID
        {
            get
            {
                return this._SalesOrderID;
            }
            set
            {
                this.OnSalesOrderIDChanging(value);
                this.ReportPropertyChanging("SalesOrderID");
                this._SalesOrderID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SalesOrderID");
                this.OnSalesOrderIDChanged();
            }
        }
        private int _SalesOrderID;
        partial void OnSalesOrderIDChanging(int value);
        partial void OnSalesOrderIDChanged();
        /// <summary>
        /// There are no comments for Property RevisionNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte RevisionNumber
        {
            get
            {
                return this._RevisionNumber;
            }
            set
            {
                this.OnRevisionNumberChanging(value);
                this.ReportPropertyChanging("RevisionNumber");
                this._RevisionNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("RevisionNumber");
                this.OnRevisionNumberChanged();
            }
        }
        private byte _RevisionNumber;
        partial void OnRevisionNumberChanging(byte value);
        partial void OnRevisionNumberChanged();
        /// <summary>
        /// There are no comments for Property OrderDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime OrderDate
        {
            get
            {
                return this._OrderDate;
            }
            set
            {
                this.OnOrderDateChanging(value);
                this.ReportPropertyChanging("OrderDate");
                this._OrderDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OrderDate");
                this.OnOrderDateChanged();
            }
        }
        private global::System.DateTime _OrderDate;
        partial void OnOrderDateChanging(global::System.DateTime value);
        partial void OnOrderDateChanged();
        /// <summary>
        /// There are no comments for Property DueDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime DueDate
        {
            get
            {
                return this._DueDate;
            }
            set
            {
                this.OnDueDateChanging(value);
                this.ReportPropertyChanging("DueDate");
                this._DueDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("DueDate");
                this.OnDueDateChanged();
            }
        }
        private global::System.DateTime _DueDate;
        partial void OnDueDateChanging(global::System.DateTime value);
        partial void OnDueDateChanged();
        /// <summary>
        /// There are no comments for Property ShipDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<global::System.DateTime> ShipDate
        {
            get
            {
                return this._ShipDate;
            }
            set
            {
                this.OnShipDateChanging(value);
                this.ReportPropertyChanging("ShipDate");
                this._ShipDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ShipDate");
                this.OnShipDateChanged();
            }
        }
        private global::System.Nullable<global::System.DateTime> _ShipDate;
        partial void OnShipDateChanging(global::System.Nullable<global::System.DateTime> value);
        partial void OnShipDateChanged();
        /// <summary>
        /// There are no comments for Property Status in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public byte Status
        {
            get
            {
                return this._Status;
            }
            set
            {
                this.OnStatusChanging(value);
                this.ReportPropertyChanging("Status");
                this._Status = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Status");
                this.OnStatusChanged();
            }
        }
        private byte _Status;
        partial void OnStatusChanging(byte value);
        partial void OnStatusChanged();
        /// <summary>
        /// There are no comments for Property OnlineOrderFlag in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public bool OnlineOrderFlag
        {
            get
            {
                return this._OnlineOrderFlag;
            }
            set
            {
                this.OnOnlineOrderFlagChanging(value);
                this.ReportPropertyChanging("OnlineOrderFlag");
                this._OnlineOrderFlag = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("OnlineOrderFlag");
                this.OnOnlineOrderFlagChanged();
            }
        }
        private bool _OnlineOrderFlag;
        partial void OnOnlineOrderFlagChanging(bool value);
        partial void OnOnlineOrderFlagChanged();
        /// <summary>
        /// There are no comments for Property SalesOrderNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string SalesOrderNumber
        {
            get
            {
                return this._SalesOrderNumber;
            }
            set
            {
                this.OnSalesOrderNumberChanging(value);
                this.ReportPropertyChanging("SalesOrderNumber");
                this._SalesOrderNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("SalesOrderNumber");
                this.OnSalesOrderNumberChanged();
            }
        }
        private string _SalesOrderNumber;
        partial void OnSalesOrderNumberChanging(string value);
        partial void OnSalesOrderNumberChanged();
        /// <summary>
        /// There are no comments for Property PurchaseOrderNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string PurchaseOrderNumber
        {
            get
            {
                return this._PurchaseOrderNumber;
            }
            set
            {
                this.OnPurchaseOrderNumberChanging(value);
                this.ReportPropertyChanging("PurchaseOrderNumber");
                this._PurchaseOrderNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("PurchaseOrderNumber");
                this.OnPurchaseOrderNumberChanged();
            }
        }
        private string _PurchaseOrderNumber;
        partial void OnPurchaseOrderNumberChanging(string value);
        partial void OnPurchaseOrderNumberChanged();
        /// <summary>
        /// There are no comments for Property AccountNumber in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string AccountNumber
        {
            get
            {
                return this._AccountNumber;
            }
            set
            {
                this.OnAccountNumberChanging(value);
                this.ReportPropertyChanging("AccountNumber");
                this._AccountNumber = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("AccountNumber");
                this.OnAccountNumberChanged();
            }
        }
        private string _AccountNumber;
        partial void OnAccountNumberChanging(string value);
        partial void OnAccountNumberChanged();
        /// <summary>
        /// There are no comments for Property SalesPersonID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> SalesPersonID
        {
            get
            {
                return this._SalesPersonID;
            }
            set
            {
                this.OnSalesPersonIDChanging(value);
                this.ReportPropertyChanging("SalesPersonID");
                this._SalesPersonID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SalesPersonID");
                this.OnSalesPersonIDChanged();
            }
        }
        private global::System.Nullable<int> _SalesPersonID;
        partial void OnSalesPersonIDChanging(global::System.Nullable<int> value);
        partial void OnSalesPersonIDChanged();
        /// <summary>
        /// There are no comments for Property TerritoryID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> TerritoryID
        {
            get
            {
                return this._TerritoryID;
            }
            set
            {
                this.OnTerritoryIDChanging(value);
                this.ReportPropertyChanging("TerritoryID");
                this._TerritoryID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TerritoryID");
                this.OnTerritoryIDChanged();
            }
        }
        private global::System.Nullable<int> _TerritoryID;
        partial void OnTerritoryIDChanging(global::System.Nullable<int> value);
        partial void OnTerritoryIDChanged();
        /// <summary>
        /// There are no comments for Property CreditCardID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> CreditCardID
        {
            get
            {
                return this._CreditCardID;
            }
            set
            {
                this.OnCreditCardIDChanging(value);
                this.ReportPropertyChanging("CreditCardID");
                this._CreditCardID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CreditCardID");
                this.OnCreditCardIDChanged();
            }
        }
        private global::System.Nullable<int> _CreditCardID;
        partial void OnCreditCardIDChanging(global::System.Nullable<int> value);
        partial void OnCreditCardIDChanged();
        /// <summary>
        /// There are no comments for Property CreditCardApprovalCode in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string CreditCardApprovalCode
        {
            get
            {
                return this._CreditCardApprovalCode;
            }
            set
            {
                this.OnCreditCardApprovalCodeChanging(value);
                this.ReportPropertyChanging("CreditCardApprovalCode");
                this._CreditCardApprovalCode = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("CreditCardApprovalCode");
                this.OnCreditCardApprovalCodeChanged();
            }
        }
        private string _CreditCardApprovalCode;
        partial void OnCreditCardApprovalCodeChanging(string value);
        partial void OnCreditCardApprovalCodeChanged();
        /// <summary>
        /// There are no comments for Property CurrencyRateID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Nullable<int> CurrencyRateID
        {
            get
            {
                return this._CurrencyRateID;
            }
            set
            {
                this.OnCurrencyRateIDChanging(value);
                this.ReportPropertyChanging("CurrencyRateID");
                this._CurrencyRateID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("CurrencyRateID");
                this.OnCurrencyRateIDChanged();
            }
        }
        private global::System.Nullable<int> _CurrencyRateID;
        partial void OnCurrencyRateIDChanging(global::System.Nullable<int> value);
        partial void OnCurrencyRateIDChanged();
        /// <summary>
        /// There are no comments for Property SubTotal in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal SubTotal
        {
            get
            {
                return this._SubTotal;
            }
            set
            {
                this.OnSubTotalChanging(value);
                this.ReportPropertyChanging("SubTotal");
                this._SubTotal = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("SubTotal");
                this.OnSubTotalChanged();
            }
        }
        private decimal _SubTotal;
        partial void OnSubTotalChanging(decimal value);
        partial void OnSubTotalChanged();
        /// <summary>
        /// There are no comments for Property TaxAmt in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal TaxAmt
        {
            get
            {
                return this._TaxAmt;
            }
            set
            {
                this.OnTaxAmtChanging(value);
                this.ReportPropertyChanging("TaxAmt");
                this._TaxAmt = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TaxAmt");
                this.OnTaxAmtChanged();
            }
        }
        private decimal _TaxAmt;
        partial void OnTaxAmtChanging(decimal value);
        partial void OnTaxAmtChanged();
        /// <summary>
        /// There are no comments for Property Freight in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal Freight
        {
            get
            {
                return this._Freight;
            }
            set
            {
                this.OnFreightChanging(value);
                this.ReportPropertyChanging("Freight");
                this._Freight = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("Freight");
                this.OnFreightChanged();
            }
        }
        private decimal _Freight;
        partial void OnFreightChanging(decimal value);
        partial void OnFreightChanged();
        /// <summary>
        /// There are no comments for Property TotalDue in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal TotalDue
        {
            get
            {
                return this._TotalDue;
            }
            set
            {
                this.OnTotalDueChanging(value);
                this.ReportPropertyChanging("TotalDue");
                this._TotalDue = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("TotalDue");
                this.OnTotalDueChanged();
            }
        }
        private decimal _TotalDue;
        partial void OnTotalDueChanging(decimal value);
        partial void OnTotalDueChanged();
        /// <summary>
        /// There are no comments for Property Comment in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Comment
        {
            get
            {
                return this._Comment;
            }
            set
            {
                this.OnCommentChanging(value);
                this.ReportPropertyChanging("Comment");
                this._Comment = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, true);
                this.ReportPropertyChanged("Comment");
                this.OnCommentChanged();
            }
        }
        private string _Comment;
        partial void OnCommentChanging(string value);
        partial void OnCommentChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for Address in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_BillToAddressID", "Address")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Address Address
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "Address").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "Address").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Address in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Address> AddressReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "Address");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_BillToAddressID", "Address", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Address1 in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Address_ShipToAddressID", "Address")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Address Address1
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "Address").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "Address").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Address1 in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Address> Address1Reference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "Address");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Address>("AdventureWorksModel.FK_SalesOrderHeader_Address_ShipToAddressID", "Address", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Contact in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Contact_ContactID", "Contact")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Contact Contact
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "Contact").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "Contact").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Contact in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Contact> ContactReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Contact>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "Contact");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Contact>("AdventureWorksModel.FK_SalesOrderHeader_Contact_ContactID", "Contact", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_Customer_CustomerID", "Customer")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public Customer Customer
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "Customer").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "Customer").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for Customer in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<Customer> CustomerReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<Customer>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "Customer");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<Customer>("AdventureWorksModel.FK_SalesOrderHeader_Customer_CustomerID", "Customer", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderDetail in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderDetail")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderDetail> SalesOrderDetail
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderDetail>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderDetail");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderDetail>("AdventureWorksModel.FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID", "SalesOrderDetail", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for ShipMethod in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public ShipMethod ShipMethod
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod").Value;
            }
            set
            {
                ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod").Value = value;
            }
        }
        /// <summary>
        /// There are no comments for ShipMethod in the schema.
        /// </summary>
        [global::System.ComponentModel.BrowsableAttribute(false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityReference<ShipMethod> ShipMethodReference
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedReference<ShipMethod>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedReference<ShipMethod>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "ShipMethod", value);
                }
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ShipMethod in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ShipMethodID
    /// </KeyProperties>
    [global::System.Data.Objects.DataClasses.EdmEntityTypeAttribute(NamespaceName="AdventureWorksModel", Name="ShipMethod")]
    [global::System.Runtime.Serialization.DataContractAttribute(IsReference=true)]
    [global::System.Serializable()]
    public partial class ShipMethod : global::System.Data.Objects.DataClasses.EntityObject
    {
        /// <summary>
        /// Create a new ShipMethod object.
        /// </summary>
        /// <param name="shipMethodID">Initial value of ShipMethodID.</param>
        /// <param name="name">Initial value of Name.</param>
        /// <param name="shipBase">Initial value of ShipBase.</param>
        /// <param name="shipRate">Initial value of ShipRate.</param>
        /// <param name="rowguid">Initial value of rowguid.</param>
        /// <param name="modifiedDate">Initial value of ModifiedDate.</param>
        public static ShipMethod CreateShipMethod(int shipMethodID, string name, decimal shipBase, decimal shipRate, global::System.Guid rowguid, global::System.DateTime modifiedDate)
        {
            ShipMethod shipMethod = new ShipMethod();
            shipMethod.ShipMethodID = shipMethodID;
            shipMethod.Name = name;
            shipMethod.ShipBase = shipBase;
            shipMethod.ShipRate = shipRate;
            shipMethod.rowguid = rowguid;
            shipMethod.ModifiedDate = modifiedDate;
            return shipMethod;
        }
        /// <summary>
        /// There are no comments for Property ShipMethodID in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(EntityKeyProperty=true, IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public int ShipMethodID
        {
            get
            {
                return this._ShipMethodID;
            }
            set
            {
                this.OnShipMethodIDChanging(value);
                this.ReportPropertyChanging("ShipMethodID");
                this._ShipMethodID = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ShipMethodID");
                this.OnShipMethodIDChanged();
            }
        }
        private int _ShipMethodID;
        partial void OnShipMethodIDChanging(int value);
        partial void OnShipMethodIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this.ReportPropertyChanging("Name");
                this._Name = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
                this.ReportPropertyChanged("Name");
                this.OnNameChanged();
            }
        }
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property ShipBase in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal ShipBase
        {
            get
            {
                return this._ShipBase;
            }
            set
            {
                this.OnShipBaseChanging(value);
                this.ReportPropertyChanging("ShipBase");
                this._ShipBase = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ShipBase");
                this.OnShipBaseChanged();
            }
        }
        private decimal _ShipBase;
        partial void OnShipBaseChanging(decimal value);
        partial void OnShipBaseChanged();
        /// <summary>
        /// There are no comments for Property ShipRate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public decimal ShipRate
        {
            get
            {
                return this._ShipRate;
            }
            set
            {
                this.OnShipRateChanging(value);
                this.ReportPropertyChanging("ShipRate");
                this._ShipRate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ShipRate");
                this.OnShipRateChanged();
            }
        }
        private decimal _ShipRate;
        partial void OnShipRateChanging(decimal value);
        partial void OnShipRateChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this.ReportPropertyChanging("rowguid");
                this._rowguid = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("rowguid");
                this.OnrowguidChanged();
            }
        }
        private global::System.Guid _rowguid;
        partial void OnrowguidChanging(global::System.Guid value);
        partial void OnrowguidChanged();
        /// <summary>
        /// There are no comments for Property ModifiedDate in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this.ReportPropertyChanging("ModifiedDate");
                this._ModifiedDate = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value);
                this.ReportPropertyChanged("ModifiedDate");
                this.OnModifiedDateChanged();
            }
        }
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        /// <summary>
        /// There are no comments for PurchaseOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "PurchaseOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<PurchaseOrderHeader> PurchaseOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "PurchaseOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<PurchaseOrderHeader>("AdventureWorksModel.FK_PurchaseOrderHeader_ShipMethod_ShipMethodID", "PurchaseOrderHeader", value);
                }
            }
        }
        /// <summary>
        /// There are no comments for SalesOrderHeader in the schema.
        /// </summary>
        [global::System.Data.Objects.DataClasses.EdmRelationshipNavigationPropertyAttribute("AdventureWorksModel", "FK_SalesOrderHeader_ShipMethod_ShipMethodID", "SalesOrderHeader")]
        [global::System.Xml.Serialization.XmlIgnoreAttribute()]
        [global::System.Xml.Serialization.SoapIgnoreAttribute()]
        [global::System.Runtime.Serialization.DataMemberAttribute()]
        public global::System.Data.Objects.DataClasses.EntityCollection<SalesOrderHeader> SalesOrderHeader
        {
            get
            {
                return ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.GetRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "SalesOrderHeader");
            }
            set
            {
                if ((value != null))
                {
                    ((global::System.Data.Objects.DataClasses.IEntityWithRelationships)(this)).RelationshipManager.InitializeRelatedCollection<SalesOrderHeader>("AdventureWorksModel.FK_SalesOrderHeader_ShipMethod_ShipMethodID", "SalesOrderHeader", value);
                }
            }
        }
    }
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Webbert Solutions
United States United States
Dave is an independent consultant working in a variety of industries utilizing Microsoft .NET technologies.

Comments and Discussions