zoukankan      html  css  js  c++  java
  • 目录

    文章列表:

    1. 创建EF数据模型
      Creating an Entity Framework Data Model
    2. 实现基础的CRUD功能
      Implementing Basic CRUD Functionality
    3. 排序、筛选和分页
      Sorting, Filtering, and Paging
    4. 连接恢复和命令拦截
      Connection Resiliency and Command Interception
    5. Code First 迁移和部署
      Code First Migrations and Deployment
    6. 创建更复杂的数据模型
      Creating a More Complex Data Model
    7. 读取相关数据
      Reading Related Data
    8. 更新相关数据
      Updating Related Data
    9. 使用异步和存储过程
      Async and Stored Procedures
    10. 处理应用程序并发
      Handling Concurrency
    11. 实现继承
      Implementing Inheritance
    12. 高级EF功能
      Advanced Entity Framework Scenarios

    完整的数据模型

    数据模型

     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel.DataAnnotations;
     4 using System.ComponentModel.DataAnnotations.Schema;
     5 
     6 namespace ContosoUniversity.Models
     7 {
     8     public class Student
     9     {
    10         public int ID { get; set; }
    11         [Required]
    12         [StringLength(50)]
    13         [Display(Name = "Last Name")]
    14         public string LastName { get; set; }
    15         [Required]
    16         [StringLength(50, ErrorMessage = "First name cannot be longer than 50 characters.")]
    17         [Column("FirstName")]
    18         [Display(Name = "First Name")]
    19         public string FirstMidName { get; set; }
    20         [DataType(DataType.Date)]
    21         [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    22         [Display(Name = "Enrollment Date")]
    23         public DateTime EnrollmentDate { get; set; }
    24 
    25         [Display(Name = "Full Name")]
    26         public string FullName
    27         {
    28             get
    29             {
    30                 return LastName + ", " + FirstMidName;
    31             }
    32         }
    33 
    34         public virtual ICollection<Enrollment> Enrollments { get; set; }
    35     }
    36 }
     1 using System.ComponentModel.DataAnnotations;
     2 
     3 namespace ContosoUniversity.Models
     4 {
     5     public enum Grade
     6     {
     7         A, B, C, D, F
     8     }
     9 
    10     public class Enrollment
    11     {
    12         public int EnrollmentID { get; set; }
    13         public int CourseID { get; set; }
    14         public int StudentID { get; set; }
    15         [DisplayFormat(NullDisplayText = "No grade")]
    16         public Grade? Grade { get; set; }
    17 
    18         public virtual Course Course { get; set; }
    19         public virtual Student Student { get; set; }
    20     }
    21 }
     1 using System.Collections.Generic;
     2 using System.ComponentModel.DataAnnotations;
     3 using System.ComponentModel.DataAnnotations.Schema;
     4 
     5 namespace ContosoUniversity.Models
     6 {
     7    public class Course
     8    {
     9       [DatabaseGenerated(DatabaseGeneratedOption.None)]
    10       [Display(Name = "Number")]
    11       public int CourseID { get; set; }
    12 
    13       [StringLength(50, MinimumLength = 3)]
    14       public string Title { get; set; }
    15 
    16       [Range(0, 5)]
    17       public int Credits { get; set; }
    18 
    19       public int DepartmentID { get; set; }
    20 
    21       public virtual Department Department { get; set; }
    22       public virtual ICollection<Enrollment> Enrollments { get; set; }
    23       public virtual ICollection<Instructor> Instructors { get; set; }
    24    }
    25 }
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel.DataAnnotations;
     4 using System.ComponentModel.DataAnnotations.Schema;
     5 
     6 namespace ContosoUniversity.Models
     7 {
     8     public class Instructor
     9     {
    10         public int ID { get; set; }
    11 
    12         [Required]
    13         [Display(Name = "Last Name")]
    14         [StringLength(50)]
    15         public string LastName { get; set; }
    16 
    17         [Required]
    18         [Column("FirstName")]
    19         [Display(Name = "First Name")]
    20         [StringLength(50)]
    21         public string FirstMidName { get; set; }
    22 
    23         [DataType(DataType.Date)]
    24         [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    25         [Display(Name = "Hire Date")]
    26         public DateTime HireDate { get; set; }
    27 
    28         [Display(Name = "Full Name")]
    29         public string FullName
    30         {
    31             get { return LastName + ", " + FirstMidName; }
    32         }
    33 
    34         public virtual ICollection<Course> Courses { get; set; }
    35         public virtual OfficeAssignment OfficeAssignment { get; set; }
    36     }
    37 }
     1 using System.ComponentModel.DataAnnotations;
     2 using System.ComponentModel.DataAnnotations.Schema;
     3 
     4 namespace ContosoUniversity.Models
     5 {
     6     public class OfficeAssignment
     7     {
     8         [Key]
     9         [ForeignKey("Instructor")]
    10         public int InstructorID { get; set; }
    11         [StringLength(50)]
    12         [Display(Name = "Office Location")]
    13         public string Location { get; set; }
    14 
    15         public virtual Instructor Instructor { get; set; }
    16     }
    17 }
     1 using System;
     2 using System.Collections.Generic;
     3 using System.ComponentModel.DataAnnotations;
     4 using System.ComponentModel.DataAnnotations.Schema;
     5 
     6 namespace ContosoUniversity.Models
     7 {
     8    public class Department
     9    {
    10       public int DepartmentID { get; set; }
    11 
    12       [StringLength(50, MinimumLength=3)]
    13       public string Name { get; set; }
    14 
    15       [DataType(DataType.Currency)]
    16       [Column(TypeName = "money")]
    17       public decimal Budget { get; set; }
    18 
    19       [DataType(DataType.Date)]
    20       [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    21       [Display(Name = "Start Date")]
    22       public DateTime StartDate { get; set; }
    23 
    24       public int? InstructorID { get; set; }
    25 
    26       public virtual Instructor Administrator { get; set; }
    27       public virtual ICollection<Course> Courses { get; set; }
    28    }
    29 }
  • 相关阅读:
    Modbus: 1. Java使用Modbus读取Slave端数据(TCP)
    Nodejs后台发送https请求验证证书
    Cocos2d-JS: 2.编译到安卓和iOS
    Cocos2d-JS: 1.环境搭建
    [转载]聪明人为什么不统治世界——从围棋到德州扑克
    [转载] 国内外GIS方面的网站(较全)
    [转载]土豪算法(笑话也是实话)
    [转载]混沌理论三原则
    [转]追MM的各种算法
    [转载]建筑美和数学美
  • 原文地址:https://www.cnblogs.com/duanyong/p/4903624.html
Copyright © 2011-2022 走看看