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; }

    }

}

 

 

你可能感兴趣的:(Model)