Click here to Skip to main content
15,889,808 members
Articles / Programming Languages / C# 4.0

A Random Walk Through of the LightSwitch Data Model

Rate me:
Please Sign up or sign in to vote.
4.93/5 (20 votes)
10 Sep 2011Ms-PL4 min read 41.6K   563   22  
We will create a Silverlight Custom Control called “LightSwitch Explorer” that will display information about the collections of the screen that it is displayed on, raise methods, and switch screens.
  • LightSwitchExplorer.zip
    • LightSwitchExplorer.sln
    • LightSwitchExplorer
      • _Pvt_Extensions
        • Microsoft.LightSwitch.Extensions
          • Client
            • DebugOnlyRef
              • Microsoft.LightSwitch.Extensions.Design.Client.dll
          • ClientGen
            • Reference
              • ar
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • bg
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • ca
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • cs
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • da
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • de
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • el
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • es
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • et
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • eu
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • fi
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • fr
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • he
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • hr
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • hu
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • id
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • it
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • ja
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • ko
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • lt
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • lv
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • Microsoft.LightSwitch.Extensions.Client.dll
              • ms
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • nl
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • no
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • pl
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • pt
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • pt-BR
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • ro
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • ru
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • sk
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • sl
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • sr-Cyrl-CS
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • sr-Latn-CS
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • sv
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • th
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • tr
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • uk
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • vi
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • zh-Hans
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
              • zh-Hant
                • Microsoft.LightSwitch.Extensions.Client.Resources.dll
          • IDE
            • Reference
              • de
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • es
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • fr
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • it
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • ja
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • ko
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • Microsoft.LightSwitch.Extensions.Design.dll
              • ru
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • zh-Hans
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
              • zh-Hant
                • Microsoft.LightSwitch.Extensions.Design.Resources.dll
          • LsPkgLastWriteTime.txt
          • ServerGen
            • Reference
              • ar
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • bg
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • ca
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • cs
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • da
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • de
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • el
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • es
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • et
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • eu
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • fi
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • fr
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • he
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • hr
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • hu
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • id
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • it
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • ja
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • ko
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • lt
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • lv
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • Microsoft.LightSwitch.Extensions.Server.dll
              • ms
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • nl
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • no
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • pl
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • pt
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • pt-BR
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • ro
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • ru
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • sk
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • sl
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • sr-Cyrl-CS
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • sr-Latn-CS
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • sv
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • th
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • tr
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • uk
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • vi
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • zh-Hans
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
              • zh-Hant
                • Microsoft.LightSwitch.Extensions.Server.Resources.dll
      • app.config
      • Bin
        • Data
          • ApplicationDatabase.mdf
          • ApplicationDatabase_log.ldf
          • Temp
        • Debug
          • bin
            • ar
            • bg
            • ca
            • cs
            • da
            • de
            • el
            • es
            • et
            • eu
            • fi
            • fr
            • he
            • hr
            • hu
            • id
            • it
            • ja
            • ko
            • lt
            • lv
            • Microsoft.LightSwitch.Design.Server.Internal.dll
            • ms
            • nl
            • no
            • pl
            • pt
            • pt-BR
            • ro
            • ru
            • sk
            • sl
            • sr-Cyrl-CS
            • sr-Latn-CS
            • sv
            • th
            • tr
            • uk
            • vi
            • zh-Hans
            • zh-Hant
          • Data
          • VslsHost.exe
          • Web
            • Manifests
              • Microsoft.LightSwitch.Design.Server.Manifest.dll
      • Client
      • ClientGenerated
      • Common
      • Data
        • ApplicationDefinition.lsml
      • default.htm
      • LightSwitchExplorer.lsproj
      • LightSwitchExplorer.lsproj.user
      • Server
      • ServerGenerated
      • ServiceConfiguration.cscfg
      • ServiceDefinition.csdef
      • Silverlight.js
    • SilverlightControlLibrary
//------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//
//     Changes to this file may cause incorrect behavior and will be lost if
//     the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------

using global::System.Linq;

namespace LightSwitchApplication.Implementation
{
    
    [global::System.ServiceModel.DomainServices.Hosting.EnableClientAccess()]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public class ApplicationDataDomainService
        : global::Microsoft.LightSwitch.ServerGenerated.Implementation.DomainService<global::ApplicationData.Implementation.ApplicationDataObjectContext>
    {
    
        public ApplicationDataDomainService() : base()
        {
        }
    
    #region Public Methods
    
    #region Product
    
        public void InsertProduct(global::ApplicationData.Implementation.Product entity)
        {
            if (entity.EntityState != global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.ObjectStateManager.ChangeObjectState(entity, global::System.Data.EntityState.Added);
            }
            else
            {
                this.ObjectContext.Products.AddObject(entity);
            }
        }
    
        public void UpdateProduct(global::ApplicationData.Implementation.Product currentEntity)
        {
            global::System.ServiceModel.DomainServices.EntityFramework.ObjectContextExtensions.AttachAsModified(this.ObjectContext.Products, currentEntity, this.ChangeSet.GetOriginal(currentEntity));
        }
    
        public void DeleteProduct(global::ApplicationData.Implementation.Product entity)
        {
            if (entity.EntityState == global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.Products.Attach(entity);
            }
    
            this.DeleteEntity(entity);
        }
    #endregion
    
    #region Order
    
        public void InsertOrder(global::ApplicationData.Implementation.Order entity)
        {
            if (entity.EntityState != global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.ObjectStateManager.ChangeObjectState(entity, global::System.Data.EntityState.Added);
            }
            else
            {
                this.ObjectContext.Orders.AddObject(entity);
            }
        }
    
        public void UpdateOrder(global::ApplicationData.Implementation.Order currentEntity)
        {
            global::System.ServiceModel.DomainServices.EntityFramework.ObjectContextExtensions.AttachAsModified(this.ObjectContext.Orders, currentEntity, this.ChangeSet.GetOriginal(currentEntity));
        }
    
        public void DeleteOrder(global::ApplicationData.Implementation.Order entity)
        {
            if (entity.EntityState == global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.Orders.Attach(entity);
            }
    
            this.DeleteEntity(entity);
        }
    #endregion
    
    #region OrderDetail
    
        public void InsertOrderDetail(global::ApplicationData.Implementation.OrderDetail entity)
        {
            if (entity.EntityState != global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.ObjectStateManager.ChangeObjectState(entity, global::System.Data.EntityState.Added);
            }
            else
            {
                this.ObjectContext.OrderDetails.AddObject(entity);
            }
        }
    
        public void UpdateOrderDetail(global::ApplicationData.Implementation.OrderDetail currentEntity)
        {
            global::System.ServiceModel.DomainServices.EntityFramework.ObjectContextExtensions.AttachAsModified(this.ObjectContext.OrderDetails, currentEntity, this.ChangeSet.GetOriginal(currentEntity));
        }
    
        public void DeleteOrderDetail(global::ApplicationData.Implementation.OrderDetail entity)
        {
            if (entity.EntityState == global::System.Data.EntityState.Detached)
            {
                this.ObjectContext.OrderDetails.Attach(entity);
            }
    
            this.DeleteEntity(entity);
        }
    #endregion
    
    #region Queries
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_Single(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Product>("Products_Single", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_SingleOrDefault(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Product>("Products_SingleOrDefault", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_All(string frameworkOperators)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Product>("Products_All", frameworkOperators);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_Single(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Order>("Orders_Single", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_SingleOrDefault(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Order>("Orders_SingleOrDefault", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_All(string frameworkOperators)
        {
            return this.GetQuery<global::ApplicationData.Implementation.Order>("Orders_All", frameworkOperators);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_Single(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.OrderDetail>("OrderDetails_Single", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_SingleOrDefault(string frameworkOperators, global::System.Nullable<int> Id)
        {
            return this.GetQuery<global::ApplicationData.Implementation.OrderDetail>("OrderDetails_SingleOrDefault", frameworkOperators, Id);
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_All(string frameworkOperators)
        {
            return this.GetQuery<global::ApplicationData.Implementation.OrderDetail>("OrderDetails_All", frameworkOperators);
        }
    
    #endregion
    
        [global::System.ServiceModel.DomainServices.Server.Invoke(HasSideEffects=false)]
        public int __GetEntitySetCanInformation(string entitySetName)
        {
            return base.GetEntitySetCanInformation(entitySetName);
        }
    
        [global::System.ServiceModel.DomainServices.Server.Invoke(HasSideEffects=false)]
        public bool __CanExecuteOperation(string operationName)
        {
            return base.CanExecuteOperation(operationName);
        }
    
    #endregion
    
        protected override global::Microsoft.LightSwitch.IDataService CreateDataService()
        {
            return new global::LightSwitchApplication.DataWorkspace().ApplicationData;
        }
    
    }
    
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public class ApplicationDataServiceImplementation
        : global::Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceImplementation<global::ApplicationData.Implementation.ApplicationDataObjectContext>
    {
        public ApplicationDataServiceImplementation(global::Microsoft.LightSwitch.IDataService dataService) : base(dataService)
        {
        }
    
    #region Queries
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_Single(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.Product>("Products_All"),
                (p) => (Id.HasValue && (p.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_SingleOrDefault(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.Product>("Products_All"),
                (p) => (Id.HasValue && (p.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> Products_All()
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Product> query;
            query = base.CreateQuery<global::ApplicationData.Implementation.Product>("[Products]").AsQueryable();
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_Single(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.Order>("Orders_All"),
                (o) => (Id.HasValue && (o.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_SingleOrDefault(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.Order>("Orders_All"),
                (o) => (Id.HasValue && (o.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> Orders_All()
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.Order> query;
            query = base.CreateQuery<global::ApplicationData.Implementation.Order>("[Orders]").AsQueryable();
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_Single(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.OrderDetail>("OrderDetails_All"),
                (o) => (Id.HasValue && (o.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_SingleOrDefault(global::System.Nullable<int> Id)
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> query;
            query = global::System.Linq.Queryable.Where(
                this.GetQuery<global::ApplicationData.Implementation.OrderDetail>("OrderDetails_All"),
                (o) => (Id.HasValue && (o.Id == Id)));
            return query;
        }
    
        public global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> OrderDetails_All()
        {
            global::System.Linq.IQueryable<global::ApplicationData.Implementation.OrderDetail> query;
            query = base.CreateQuery<global::ApplicationData.Implementation.OrderDetail>("[OrderDetails]").AsQueryable();
            return query;
        }
    
    #endregion

    #region Protected Methods
        protected override object CreateObject(global::System.Type type)
        {
            if (type == typeof(global::ApplicationData.Implementation.Product))
            {
                return new global::ApplicationData.Implementation.Product();
            }
            if (type == typeof(global::ApplicationData.Implementation.Order))
            {
                return new global::ApplicationData.Implementation.Order();
            }
            if (type == typeof(global::ApplicationData.Implementation.OrderDetail))
            {
                return new global::ApplicationData.Implementation.OrderDetail();
            }
    
            return base.CreateObject(type);
        }
    
        protected override global::ApplicationData.Implementation.ApplicationDataObjectContext CreateObjectContext()
        {
            return new global::ApplicationData.Implementation.ApplicationDataObjectContext(base.GetEntityConnectionString(
                "_IntrinsicData", 
                "res://*/ApplicationData.csdl|res://*/ApplicationData.ssdl|res://*/ApplicationData.msl",
                "System.Data.SqlClient"));
        }
    
        protected override global::Microsoft.LightSwitch.Internal.IEntityImplementation CreateEntityImplementation<T>()
        {
            if (typeof(T) == typeof(global::LightSwitchApplication.Product))
            {
                return new global::ApplicationData.Implementation.Product();
            }
            if (typeof(T) == typeof(global::LightSwitchApplication.Order))
            {
                return new global::ApplicationData.Implementation.Order();
            }
            if (typeof(T) == typeof(global::LightSwitchApplication.OrderDetail))
            {
                return new global::ApplicationData.Implementation.OrderDetail();
            }
            return null;
        }
    
    #endregion
    
    }
    
    #region DataServiceImplementationFactory
    [global::System.ComponentModel.Composition.PartCreationPolicy(global::System.ComponentModel.Composition.CreationPolicy.Shared)]
    [global::System.ComponentModel.Composition.Export(typeof(global::Microsoft.LightSwitch.Internal.IDataServiceFactory))]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public class DataServiceFactory :
        global::Microsoft.LightSwitch.ServerGenerated.Implementation.DataServiceFactory
    {
    
        protected override global::Microsoft.LightSwitch.IDataService CreateDataService(global::System.Type dataServiceType)
        {
            if (dataServiceType == typeof(global::LightSwitchApplication.ApplicationData))
            {
                return new global::LightSwitchApplication.ApplicationDataService();
            }
            return base.CreateDataService(dataServiceType);
        }
    
        protected override global::Microsoft.LightSwitch.Internal.IDataServiceImplementation CreateDataServiceImplementation<TDataService>(TDataService dataService)
        {
            if (typeof(TDataService) == typeof(global::LightSwitchApplication.ApplicationData))
            {
                return new global::LightSwitchApplication.Implementation.ApplicationDataServiceImplementation(dataService);
            }
            return base.CreateDataServiceImplementation(dataService);
        }
    }
    #endregion
    
    [global::System.ComponentModel.Composition.PartCreationPolicy(global::System.ComponentModel.Composition.CreationPolicy.Shared)]
    [global::System.ComponentModel.Composition.Export(typeof(global::Microsoft.LightSwitch.Internal.ITypeMappingProvider))]
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public class __TypeMapping
        : global::Microsoft.LightSwitch.Internal.ITypeMappingProvider
    {
        global::System.Type global::Microsoft.LightSwitch.Internal.ITypeMappingProvider.GetImplementationType(global::System.Type definitionType)
        {
            if (typeof(global::LightSwitchApplication.Product) == definitionType)
            {
                return typeof(global::ApplicationData.Implementation.Product);
            }
            if (typeof(global::LightSwitchApplication.Order) == definitionType)
            {
                return typeof(global::ApplicationData.Implementation.Order);
            }
            if (typeof(global::LightSwitchApplication.OrderDetail) == definitionType)
            {
                return typeof(global::ApplicationData.Implementation.OrderDetail);
            }
            return null;
        }
    }
}

namespace ApplicationData.Implementation
{

    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public partial class Product :
        global::LightSwitchApplication.Product.DetailsClass.IImplementation
    {
    
        global::System.Collections.IEnumerable global::LightSwitchApplication.Product.DetailsClass.IImplementation.OrderDetails
        {
            get
            {
                return this.OrderDetails;
            }
        }
        
        #region IEntityImplementation Members
        private global::Microsoft.LightSwitch.Internal.IEntityImplementationHost __host;
        
        global::Microsoft.LightSwitch.Internal.IEntityImplementationHost global::Microsoft.LightSwitch.Internal.IEntityImplementation.Host
        {
            get
            {
                return this.__host;
            }
        }
        
        void global::Microsoft.LightSwitch.Internal.IEntityImplementation.Initialize(global::Microsoft.LightSwitch.Internal.IEntityImplementationHost host)
        {
            this.__host = host;
        }
        
        protected override void OnPropertyChanged(string propertyName)
        {
            base.OnPropertyChanged(propertyName);
            if (this.__host != null)
            {
                this.__host.RaisePropertyChanged(propertyName);
            }
        }
        #endregion
    }
    
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    public partial class Order :
        global::LightSwitchApplication.Order.DetailsClass.IImplementation
    {
    
        global::System.Collections.IEnumerable global::LightSwitchApplication.Order.DetailsClass.IImplementation.OrderDetails
        {
            get
            {
                return this.OrderDetails;
            }
        }
        
        #region IEntityImplementation Members
        private global::Microsoft.LightSwitch.Internal.IEntityImplementationHost __host;
        
        global::Microsoft.LightSwitch.Internal.IEntityImplementationHost global::Microsoft.LightSwitch.Internal.IEntityImplementation.Host
        {
            get
            {
                return this.__host;
            }
        }
        
        void global::Microsoft.LightSwitch.Internal.IEntityImplementation.Initialize(global::Microsoft.LightSwitch.Internal.IEntityImplementationHost host)
        {
            this.__host = host;
        }
        
        protected override void OnPropertyChanged(string propertyName)
        {
            base.OnPropertyChanged(propertyName);
            if (this.__host != null)
            {
                this.__host.RaisePropertyChanged(propertyName);
            }
        }
        #endregion
    }
    
    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.LightSwitch.BuildTasks.CodeGen", "10.0.0.0")]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.ComponentModel.DataAnnotations.MetadataType(typeof(global::ApplicationData.Implementation.OrderDetail.Metadata))]
    public partial class OrderDetail :
        global::LightSwitchApplication.OrderDetail.DetailsClass.IImplementation
    {
    
        global::Microsoft.LightSwitch.Internal.IEntityImplementation global::LightSwitchApplication.OrderDetail.DetailsClass.IImplementation.Order
        {
            get
            {
                return this.Order;
            }
            set
            {
                this.Order = (global::ApplicationData.Implementation.Order)value;
                if (this.__host != null)
                {
                    this.__host.RaisePropertyChanged("Order");
                }
            }
        }
        
        partial void OnOrderDetail_OrderChanged()
        {
            if (this.__host != null)
            {
                this.__host.RaisePropertyChanged("Order");
            }
        }
        
        global::Microsoft.LightSwitch.Internal.IEntityImplementation global::LightSwitchApplication.OrderDetail.DetailsClass.IImplementation.Product
        {
            get
            {
                return this.Product;
            }
            set
            {
                this.Product = (global::ApplicationData.Implementation.Product)value;
                if (this.__host != null)
                {
                    this.__host.RaisePropertyChanged("Product");
                }
            }
        }
        
        partial void OnOrderDetail_ProductChanged()
        {
            if (this.__host != null)
            {
                this.__host.RaisePropertyChanged("Product");
            }
        }
        
        #region IEntityImplementation Members
        private global::Microsoft.LightSwitch.Internal.IEntityImplementationHost __host;
        
        global::Microsoft.LightSwitch.Internal.IEntityImplementationHost global::Microsoft.LightSwitch.Internal.IEntityImplementation.Host
        {
            get
            {
                return this.__host;
            }
        }
        
        void global::Microsoft.LightSwitch.Internal.IEntityImplementation.Initialize(global::Microsoft.LightSwitch.Internal.IEntityImplementationHost host)
        {
            this.__host = host;
        }
        
        protected override void OnPropertyChanged(string propertyName)
        {
            base.OnPropertyChanged(propertyName);
            if (this.__host != null)
            {
                this.__host.RaisePropertyChanged(propertyName);
            }
        }
        #endregion
        
        internal class Metadata
        {
            [global::System.ServiceModel.DomainServices.Server.Include]
            public global::ApplicationData.Implementation.Order Order { get; set; }
        
            [global::System.ServiceModel.DomainServices.Server.Include]
            public global::ApplicationData.Implementation.Product Product { get; set; }
        
        }
    }
    
}

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 Microsoft Public License (Ms-PL)


Written By
Software Developer (Senior) http://ADefWebserver.com
United States United States
Michael Washington is a Microsoft MVP. He is a ASP.NET and
C# programmer.
He is the founder of
AiHelpWebsite.com,
LightSwitchHelpWebsite.com, and
HoloLensHelpWebsite.com.

He has a son, Zachary and resides in Los Angeles with his wife Valerie.

He is the Author of:

Comments and Discussions