MVC项目实践(四)——EDM实现
实体数据模型 (EDM) 是一个规范,用于定义由在 实体框架 基础上生成的应用程序使用的数据。使用 EDM 的应用程序在设计架构中定义应用程序域中的实体和关系。设计架构用于生成由应用程序代码使用的可编程类。在此模型中持久保留应用程序数据的存储结构由另一个架构(称为存储架构)表示。映射规范用于连接设计架构与存储架构。
再此次程序中,实体类和表是一一对应的,并且实体类中的属性和表中的字段也是对应的。
解决方案资源图:
前三个均为实体类,第四个为DbContext接口继承。这只是一个初期架构,在后续开发中,将会有其他工程被陆陆续续添加进来。
具体代码如下:
Team.cs
1 namespace VolleyballScoring.Models 2 { 3 public class Team 4 { 5 /// <summary> 6 /// 实体类—队伍 7 /// </summary> 8 [Key] 9 public int TId { get; set; } 10 public string Name { get; set; } 11 } 12 }
Game.cs
1 namespace VolleyballScoring.Models 2 { 3 public class Game 4 { 5 /// <summary> 6 /// 实体类—比赛 7 /// </summary> 8 [Key] 9 public int GId { get; set; } 10 public int TIdA { get; set; } 11 public int TIdB { get; set; } 12 public int SscoA { get; set; } 13 public int SscoB { get; set; } 14 } 15 }
Section.cs
1 namespace VolleyballScoring.Models 2 { 3 public class Section 4 { 5 /// <summary> 6 /// 实体类—单节 7 /// </summary> 8 [Key] 9 public int SId { get; set; } 10 public int GId { get; set; } 11 public int SNum { get; set; } 12 public int RouA { get; set; } 13 public int RouB { get; set; } 14 public string InfoA { get; set; } 15 public string InfoB { get; set; } 16 } 17 }
VolleyballDBContext.cs
1 namespace VolleyballScoring.Models 2 { 3 public class VolleyballDBContext : DbContext 4 { 5 public DbSet<Team> Teams { get; set; } 6 public DbSet<Game> Games { get; set; } 7 public DbSet<Section> Sections { get; set; } 8 } 9 }
大家可以看出,实体类的代码是非常简单的。我们在结合EF框架和MVC控制器可以很好的完成各种CDUS操作。
下面为服务器资源管理器: