首页 > 其他 > 详细

Model

时间:2014-04-21 19:24:20      阅读:463      评论:0      收藏:0      [点我收藏+]
bubuko.com,布布扣
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; }
    }
}
bubuko.com,布布扣

 

bubuko.com,布布扣
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();
    }
}
bubuko.com,布布扣

 

bubuko.com,布布扣
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; }
    }
}
bubuko.com,布布扣

 

bubuko.com,布布扣
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();
    }
}
bubuko.com,布布扣

 

bubuko.com,布布扣
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; }
    }
}
bubuko.com,布布扣

 

 

Model,布布扣,bubuko.com

Model

原文:http://www.cnblogs.com/MarchThree/p/3676816.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!