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

// Original file name:
// Generation date: 2011-06-14 17:44:04
namespace ODataBasedSilverlightApplication.AdventureWorksServiceReference
{
    
    /// <summary>
    /// There are no comments for AdventureWorksEntities in the schema.
    /// </summary>
    public partial class AdventureWorksEntities : global::System.Data.Services.Client.DataServiceContext
    {
        /// <summary>
        /// Initialize a new AdventureWorksEntities object.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public AdventureWorksEntities(global::System.Uri serviceRoot) : 
                base(serviceRoot)
        {
            this.ResolveName = new global::System.Func<global::System.Type, string>(this.ResolveNameFromType);
            this.ResolveType = new global::System.Func<string, global::System.Type>(this.ResolveTypeFromName);
            this.OnContextCreated();
        }
        partial void OnContextCreated();
        /// <summary>
        /// Since the namespace configured for this service reference
        /// in Visual Studio is different from the one indicated in the
        /// server schema, use type-mappers to map between the two.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected global::System.Type ResolveTypeFromName(string typeName)
        {
            if (typeName.StartsWith("AdventureWorksModel", global::System.StringComparison.Ordinal))
            {
                return this.GetType().Assembly.GetType(string.Concat("ODataBasedSilverlightApplication.AdventureWorksServiceReference", typeName.Substring(19)), false);
            }
            return null;
        }
        /// <summary>
        /// Since the namespace configured for this service reference
        /// in Visual Studio is different from the one indicated in the
        /// server schema, use type-mappers to map between the two.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected string ResolveNameFromType(global::System.Type clientType)
        {
            if (clientType.Namespace.Equals("ODataBasedSilverlightApplication.AdventureWorksServiceReference", global::System.StringComparison.Ordinal))
            {
                return string.Concat("AdventureWorksModel.", clientType.Name);
            }
            return null;
        }
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Data.Services.Client.DataServiceQuery<Product> Product
        {
            get
            {
                if ((this._Product == null))
                {
                    this._Product = base.CreateQuery<Product>("Product");
                }
                return this._Product;
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Data.Services.Client.DataServiceQuery<Product> _Product;
        /// <summary>
        /// There are no comments for ProductCategory in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Data.Services.Client.DataServiceQuery<ProductCategory> ProductCategory
        {
            get
            {
                if ((this._ProductCategory == null))
                {
                    this._ProductCategory = base.CreateQuery<ProductCategory>("ProductCategory");
                }
                return this._ProductCategory;
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Data.Services.Client.DataServiceQuery<ProductCategory> _ProductCategory;
        /// <summary>
        /// There are no comments for Product in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public void AddToProduct(Product product)
        {
            base.AddObject("Product", product);
        }
        /// <summary>
        /// There are no comments for ProductCategory in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public void AddToProductCategory(ProductCategory productCategory)
        {
            base.AddObject("ProductCategory", productCategory);
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.Product in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductID
    /// </KeyProperties>
    [global::System.Data.Services.Common.EntitySetAttribute("Product")]
    [global::System.Data.Services.Common.DataServiceKeyAttribute("ProductID")]
    public partial class Product : global::System.ComponentModel.INotifyPropertyChanged
    {
        /// <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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public int ProductID
        {
            get
            {
                return this._ProductID;
            }
            set
            {
                this.OnProductIDChanging(value);
                this._ProductID = value;
                this.OnProductIDChanged();
                this.OnPropertyChanged("ProductID");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private int _ProductID;
        partial void OnProductIDChanging(int value);
        partial void OnProductIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this._Name = value;
                this.OnNameChanged();
                this.OnPropertyChanged("Name");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property ProductNumber in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string ProductNumber
        {
            get
            {
                return this._ProductNumber;
            }
            set
            {
                this.OnProductNumberChanging(value);
                this._ProductNumber = value;
                this.OnProductNumberChanged();
                this.OnPropertyChanged("ProductNumber");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _ProductNumber;
        partial void OnProductNumberChanging(string value);
        partial void OnProductNumberChanged();
        /// <summary>
        /// There are no comments for Property MakeFlag in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public bool MakeFlag
        {
            get
            {
                return this._MakeFlag;
            }
            set
            {
                this.OnMakeFlagChanging(value);
                this._MakeFlag = value;
                this.OnMakeFlagChanged();
                this.OnPropertyChanged("MakeFlag");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private bool _MakeFlag;
        partial void OnMakeFlagChanging(bool value);
        partial void OnMakeFlagChanged();
        /// <summary>
        /// There are no comments for Property FinishedGoodsFlag in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public bool FinishedGoodsFlag
        {
            get
            {
                return this._FinishedGoodsFlag;
            }
            set
            {
                this.OnFinishedGoodsFlagChanging(value);
                this._FinishedGoodsFlag = value;
                this.OnFinishedGoodsFlagChanged();
                this.OnPropertyChanged("FinishedGoodsFlag");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private bool _FinishedGoodsFlag;
        partial void OnFinishedGoodsFlagChanging(bool value);
        partial void OnFinishedGoodsFlagChanged();
        /// <summary>
        /// There are no comments for Property Color in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Color
        {
            get
            {
                return this._Color;
            }
            set
            {
                this.OnColorChanging(value);
                this._Color = value;
                this.OnColorChanged();
                this.OnPropertyChanged("Color");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Color;
        partial void OnColorChanging(string value);
        partial void OnColorChanged();
        /// <summary>
        /// There are no comments for Property SafetyStockLevel in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public short SafetyStockLevel
        {
            get
            {
                return this._SafetyStockLevel;
            }
            set
            {
                this.OnSafetyStockLevelChanging(value);
                this._SafetyStockLevel = value;
                this.OnSafetyStockLevelChanged();
                this.OnPropertyChanged("SafetyStockLevel");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private short _SafetyStockLevel;
        partial void OnSafetyStockLevelChanging(short value);
        partial void OnSafetyStockLevelChanged();
        /// <summary>
        /// There are no comments for Property ReorderPoint in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public short ReorderPoint
        {
            get
            {
                return this._ReorderPoint;
            }
            set
            {
                this.OnReorderPointChanging(value);
                this._ReorderPoint = value;
                this.OnReorderPointChanged();
                this.OnPropertyChanged("ReorderPoint");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private short _ReorderPoint;
        partial void OnReorderPointChanging(short value);
        partial void OnReorderPointChanged();
        /// <summary>
        /// There are no comments for Property StandardCost in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public decimal StandardCost
        {
            get
            {
                return this._StandardCost;
            }
            set
            {
                this.OnStandardCostChanging(value);
                this._StandardCost = value;
                this.OnStandardCostChanged();
                this.OnPropertyChanged("StandardCost");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private decimal _StandardCost;
        partial void OnStandardCostChanging(decimal value);
        partial void OnStandardCostChanged();
        /// <summary>
        /// There are no comments for Property ListPrice in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public decimal ListPrice
        {
            get
            {
                return this._ListPrice;
            }
            set
            {
                this.OnListPriceChanging(value);
                this._ListPrice = value;
                this.OnListPriceChanged();
                this.OnPropertyChanged("ListPrice");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private decimal _ListPrice;
        partial void OnListPriceChanging(decimal value);
        partial void OnListPriceChanged();
        /// <summary>
        /// There are no comments for Property Size in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Size
        {
            get
            {
                return this._Size;
            }
            set
            {
                this.OnSizeChanging(value);
                this._Size = value;
                this.OnSizeChanged();
                this.OnPropertyChanged("Size");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Size;
        partial void OnSizeChanging(string value);
        partial void OnSizeChanged();
        /// <summary>
        /// There are no comments for Property SizeUnitMeasureCode in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string SizeUnitMeasureCode
        {
            get
            {
                return this._SizeUnitMeasureCode;
            }
            set
            {
                this.OnSizeUnitMeasureCodeChanging(value);
                this._SizeUnitMeasureCode = value;
                this.OnSizeUnitMeasureCodeChanged();
                this.OnPropertyChanged("SizeUnitMeasureCode");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _SizeUnitMeasureCode;
        partial void OnSizeUnitMeasureCodeChanging(string value);
        partial void OnSizeUnitMeasureCodeChanged();
        /// <summary>
        /// There are no comments for Property WeightUnitMeasureCode in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string WeightUnitMeasureCode
        {
            get
            {
                return this._WeightUnitMeasureCode;
            }
            set
            {
                this.OnWeightUnitMeasureCodeChanging(value);
                this._WeightUnitMeasureCode = value;
                this.OnWeightUnitMeasureCodeChanged();
                this.OnPropertyChanged("WeightUnitMeasureCode");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _WeightUnitMeasureCode;
        partial void OnWeightUnitMeasureCodeChanging(string value);
        partial void OnWeightUnitMeasureCodeChanged();
        /// <summary>
        /// There are no comments for Property Weight in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<decimal> Weight
        {
            get
            {
                return this._Weight;
            }
            set
            {
                this.OnWeightChanging(value);
                this._Weight = value;
                this.OnWeightChanged();
                this.OnPropertyChanged("Weight");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public int DaysToManufacture
        {
            get
            {
                return this._DaysToManufacture;
            }
            set
            {
                this.OnDaysToManufactureChanging(value);
                this._DaysToManufacture = value;
                this.OnDaysToManufactureChanged();
                this.OnPropertyChanged("DaysToManufacture");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private int _DaysToManufacture;
        partial void OnDaysToManufactureChanging(int value);
        partial void OnDaysToManufactureChanged();
        /// <summary>
        /// There are no comments for Property ProductLine in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string ProductLine
        {
            get
            {
                return this._ProductLine;
            }
            set
            {
                this.OnProductLineChanging(value);
                this._ProductLine = value;
                this.OnProductLineChanged();
                this.OnPropertyChanged("ProductLine");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _ProductLine;
        partial void OnProductLineChanging(string value);
        partial void OnProductLineChanged();
        /// <summary>
        /// There are no comments for Property Class in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Class
        {
            get
            {
                return this._Class;
            }
            set
            {
                this.OnClassChanging(value);
                this._Class = value;
                this.OnClassChanged();
                this.OnPropertyChanged("Class");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Class;
        partial void OnClassChanging(string value);
        partial void OnClassChanged();
        /// <summary>
        /// There are no comments for Property Style in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Style
        {
            get
            {
                return this._Style;
            }
            set
            {
                this.OnStyleChanging(value);
                this._Style = value;
                this.OnStyleChanged();
                this.OnPropertyChanged("Style");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Style;
        partial void OnStyleChanging(string value);
        partial void OnStyleChanged();
        /// <summary>
        /// There are no comments for Property ProductSubcategoryID in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<int> ProductSubcategoryID
        {
            get
            {
                return this._ProductSubcategoryID;
            }
            set
            {
                this.OnProductSubcategoryIDChanging(value);
                this._ProductSubcategoryID = value;
                this.OnProductSubcategoryIDChanged();
                this.OnPropertyChanged("ProductSubcategoryID");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Nullable<int> _ProductSubcategoryID;
        partial void OnProductSubcategoryIDChanging(global::System.Nullable<int> value);
        partial void OnProductSubcategoryIDChanged();
        /// <summary>
        /// There are no comments for Property ProductModelID in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<int> ProductModelID
        {
            get
            {
                return this._ProductModelID;
            }
            set
            {
                this.OnProductModelIDChanging(value);
                this._ProductModelID = value;
                this.OnProductModelIDChanged();
                this.OnPropertyChanged("ProductModelID");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.Nullable<int> _ProductModelID;
        partial void OnProductModelIDChanging(global::System.Nullable<int> value);
        partial void OnProductModelIDChanged();
        /// <summary>
        /// There are no comments for Property SellStartDate in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.DateTime SellStartDate
        {
            get
            {
                return this._SellStartDate;
            }
            set
            {
                this.OnSellStartDateChanging(value);
                this._SellStartDate = value;
                this.OnSellStartDateChanged();
                this.OnPropertyChanged("SellStartDate");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<global::System.DateTime> SellEndDate
        {
            get
            {
                return this._SellEndDate;
            }
            set
            {
                this.OnSellEndDateChanging(value);
                this._SellEndDate = value;
                this.OnSellEndDateChanged();
                this.OnPropertyChanged("SellEndDate");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Nullable<global::System.DateTime> DiscontinuedDate
        {
            get
            {
                return this._DiscontinuedDate;
            }
            set
            {
                this.OnDiscontinuedDateChanging(value);
                this._DiscontinuedDate = value;
                this.OnDiscontinuedDateChanged();
                this.OnPropertyChanged("DiscontinuedDate");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this._rowguid = value;
                this.OnrowguidChanged();
                this.OnPropertyChanged("rowguid");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this._ModifiedDate = value;
                this.OnModifiedDateChanged();
                this.OnPropertyChanged("ModifiedDate");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public event global::System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected virtual void OnPropertyChanged(string property)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new global::System.ComponentModel.PropertyChangedEventArgs(property));
            }
        }
    }
    /// <summary>
    /// There are no comments for AdventureWorksModel.ProductCategory in the schema.
    /// </summary>
    /// <KeyProperties>
    /// ProductCategoryID
    /// </KeyProperties>
    [global::System.Data.Services.Common.EntitySetAttribute("ProductCategory")]
    [global::System.Data.Services.Common.DataServiceKeyAttribute("ProductCategoryID")]
    public partial class ProductCategory : global::System.ComponentModel.INotifyPropertyChanged
    {
        /// <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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public int ProductCategoryID
        {
            get
            {
                return this._ProductCategoryID;
            }
            set
            {
                this.OnProductCategoryIDChanging(value);
                this._ProductCategoryID = value;
                this.OnProductCategoryIDChanged();
                this.OnPropertyChanged("ProductCategoryID");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private int _ProductCategoryID;
        partial void OnProductCategoryIDChanging(int value);
        partial void OnProductCategoryIDChanged();
        /// <summary>
        /// There are no comments for Property Name in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public string Name
        {
            get
            {
                return this._Name;
            }
            set
            {
                this.OnNameChanging(value);
                this._Name = value;
                this.OnNameChanged();
                this.OnPropertyChanged("Name");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private string _Name;
        partial void OnNameChanging(string value);
        partial void OnNameChanged();
        /// <summary>
        /// There are no comments for Property rowguid in the schema.
        /// </summary>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.Guid rowguid
        {
            get
            {
                return this._rowguid;
            }
            set
            {
                this.OnrowguidChanging(value);
                this._rowguid = value;
                this.OnrowguidChanged();
                this.OnPropertyChanged("rowguid");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        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>
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public global::System.DateTime ModifiedDate
        {
            get
            {
                return this._ModifiedDate;
            }
            set
            {
                this.OnModifiedDateChanging(value);
                this._ModifiedDate = value;
                this.OnModifiedDateChanged();
                this.OnPropertyChanged("ModifiedDate");
            }
        }
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        private global::System.DateTime _ModifiedDate;
        partial void OnModifiedDateChanging(global::System.DateTime value);
        partial void OnModifiedDateChanged();
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        public event global::System.ComponentModel.PropertyChangedEventHandler PropertyChanged;
        [System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Services.Design", "1.0.0")]
        protected virtual void OnPropertyChanged(string property)
        {
            if ((this.PropertyChanged != null))
            {
                this.PropertyChanged(this, new global::System.ComponentModel.PropertyChangedEventArgs(property));
            }
        }
    }
}
