zoukankan      html  css  js  c++  java
  • Model

    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    
    namespace iFlytekDemo.Models
    {
        /// <summary>
        /// 城市实体
        /// </summary>
        public class City
        {
            /// <summary>
            /// 城市编号
            /// </summary>
            [Key]
            public int CityID { get; set; }
    
            /// <summary>
            /// 城市名称
            /// </summary>
            [Required]
            public string CityName { get; set; }
    
            /// <summary>
            /// 员工集合
            /// </summary>
            public virtual ICollection<Employee> Employees { get; set; }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Entity;
    using System.Linq;
    using System.Linq.Expressions;
    using System.Web;
    
    namespace iFlytekDemo.Models
    { 
        public class CityRepository : ICityRepository
        {
            iFlytekDemoContext context = new iFlytekDemoContext();
    
            public IQueryable<City> All
            {
                get { return context.Cities; }
            }
    
            public IQueryable<City> AllIncluding(params Expression<Func<City, object>>[] includeProperties)
            {
                IQueryable<City> query = context.Cities;
                foreach (var includeProperty in includeProperties) {
                    query = query.Include(includeProperty);
                }
                return query;
            }
    
            public City Find(int id)
            {
                return context.Cities.Find(id);
            }
    
            public void InsertOrUpdate(City city)
            {
                if (city.CityID == default(int)) {
                    // New entity
                    context.Cities.Add(city);
                } else {
                    // Existing entity
                    context.Entry(city).State = EntityState.Modified;
                }
            }
    
            public void Delete(int id)
            {
                var city = context.Cities.Find(id);
                context.Cities.Remove(city);
            }
    
            public void Save()
            {
                context.SaveChanges();
            }
    
            public void Dispose() 
            {
                context.Dispose();
            }
        }
    
        public interface ICityRepository : IDisposable
        {
            IQueryable<City> All { get; }
            IQueryable<City> AllIncluding(params Expression<Func<City, object>>[] includeProperties);
            City Find(int id);
            void InsertOrUpdate(City city);
            void Delete(int id);
            void Save();
        }
    }
    using System.ComponentModel.DataAnnotations;
    
    namespace iFlytekDemo.Models
    {
        /// <summary>
        /// 员工实体
        /// </summary>
        public class Employee
        {
            /// <summary>
            /// 员工编号
            /// </summary>
            [Key]
            public int EmployeeID { get; set; }
            
            /// <summary>
            /// 员工姓名
            /// </summary>
            [Required]
            public string EmployeeName { get; set; }
    
            /// <summary>
            /// 城市编号
            /// </summary>
            [Required]
            public int CityID { get; set; }
    
            /// <summary>
            /// 城市对象
            /// </summary>
            public virtual City City { get; set; }
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.Entity;
    using System.Linq;
    using System.Linq.Expressions;
    using System.Web;
    
    namespace iFlytekDemo.Models
    { 
        public class EmployeeRepository : IEmployeeRepository
        {
            iFlytekDemoContext context = new iFlytekDemoContext();
    
            public IQueryable<Employee> All
            {
                get { return context.Employees; }
            }
    
            public IQueryable<Employee> AllIncluding(params Expression<Func<Employee, object>>[] includeProperties)
            {
                IQueryable<Employee> query = context.Employees;
                foreach (var includeProperty in includeProperties) {
                    query = query.Include(includeProperty);
                }
                return query;
            }
    
            public Employee Find(int id)
            {
                return context.Employees.Find(id);
            }
    
            public void InsertOrUpdate(Employee employee)
            {
                if (employee.EmployeeID == default(int)) {
                    // New entity
                    context.Employees.Add(employee);
                } else {
                    // Existing entity
                    context.Entry(employee).State = EntityState.Modified;
                }
            }
    
            public void Delete(int id)
            {
                var employee = context.Employees.Find(id);
                context.Employees.Remove(employee);
            }
    
            public void Save()
            {
                context.SaveChanges();
            }
    
            public void Dispose() 
            {
                context.Dispose();
            }
        }
    
        public interface IEmployeeRepository : IDisposable
        {
            IQueryable<Employee> All { get; }
            IQueryable<Employee> AllIncluding(params Expression<Func<Employee, object>>[] includeProperties);
            Employee Find(int id);
            void InsertOrUpdate(Employee employee);
            void Delete(int id);
            void Save();
        }
    }
    using System;
    using System.Collections.Generic;
    using System.Data.Entity;
    using System.Linq;
    using System.Web;
    
    namespace iFlytekDemo.Models
    {
        public class iFlytekDemoContext : DbContext
        {
            // You can add custom code to this file. Changes will not be overwritten.
            // 
            // If you want Entity Framework to drop and regenerate your database
            // automatically whenever you change your model schema, add the following
            // code to the Application_Start method in your Global.asax file.
            // Note: this will destroy and re-create your database with every model change.
            // 
            // System.Data.Entity.Database.SetInitializer(new System.Data.Entity.DropCreateDatabaseIfModelChanges<iFlytekDemo.Models.iFlytekDemoContext>());
    
            public DbSet<iFlytekDemo.Models.City> Cities { get; set; }
    
            public DbSet<iFlytekDemo.Models.Employee> Employees { get; set; }
        }
    }
  • 相关阅读:
    LTPA Cookie原理
    如何对更改internet密码所需的缓存时间进行调整?
    Freemem eclipse查看内存的小插件
    Java中static、final用法小结
    MANIFEST.MF内容属性名详细解释
    Java程序员的良药:应用程序的开发技巧
    spring struts2 ibatis框架整合开发
    java中静态代码块的用法 static用法详解 类的加载顺序
    从svn上直接导入项目到workspace中
    Eclipse自动生成UML图 Green UML和ModelGoon(直接推拽)
  • 原文地址:https://www.cnblogs.com/MarchThree/p/3676816.html
Copyright © 2011-2022 走看看