今天是在吾索实习的第16天。我自己主要学习了基于MVC框架的系统的开发时,对SQL Server数据库的相关访问。其步骤如下:

  第一步,在Models文件夹中创建一个类,并命名为Movies.cs,如图1所示:

  

图1  

  第二步,在上述Movies.cs文件中的namespace MvcTest.Models{}中输入如下代码:

  

     public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Genre { get; set; }
public decimal Price { get; set; }
} public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}

  其中,Movie对象中的每个实例对应数据库表Movies的每一行,每个属性对应数据库表Movies的相应字段。而MovieDBContext是EF(Entity Framework)的数据库上下文(即数据库环境),是由基类DbContext派生出来的。

  第三步,在项目根目录下的Web.config中<connectionStrings></connectionStrings>中添加如下连接字符串:

  

  <add name="MovieDBContext"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True"
providerName="System.Data.SqlClient"
/>

  其中,|DataDirectory|代表项目根目录下的App_Data文件夹,当此文件夹不存在Movies.mdf时,它会自动生成。而System.Data.SQLClient说明使用的是SQL Server的数据库。

  第四步,在Controllers文件夹中添加一个控制器MoviesController,控制器的模板、模型类、数据上下文类如图2所示:

图2

  添加后,MVC将自动为你自动创建 CRUD (创建、 读取、 更新和删除) 的操作方法和视图(Create.cshtml,Delete.cshtml,Details.cshtml,Edit.cshtml,和Index.cshtml),如图3:

图3

  这样,系统就能实现基本的增删改查了,是不是觉得很神奇呢,一开始我也觉得很不可思议的。

  但不幸的是,因MVC是三层架构的,内部原理比较复杂,所以设计系统前需要花费一些时间去思考。再加上,其多使用的新视图引擎Razor不能拖放控件,所以对于我们对HTML不是很熟悉的人来说也是有些挑战的。后来因我们所要制作的手机端BBS是一个很小型的系统,所以经理还是建议我们用普通的开发模式进行开发比较妥当,不容易造成得不偿失。因此,我们还是决定用会普通的开发模式进行开发了。

最新文章

  1. Spring XML配置文件示例(一)——&lt;Servlet name&gt;-servlet.xml
  2. MySQL性能参数详解 - max_connect_errors
  3. [Orchard CMS系列] 创建主题(Writing a new theme)
  4. c++ union学习
  5. [ERROR] Unknown/unsupported storage engine: InnoDB
  6. 定时关机命令-shutdown
  7. Android studio快捷键Mac版本
  8. centos6 安装python2.7+和神器pip
  9. vue全家桶(Vue+Vue-router+Vuex+axios)(Vue+webpack项目实战系列之二)
  10. IdentityServer4 禁用 Consent screen page(权限确认页面)
  11. PLECS—晶闸管-第九周
  12. Openresty编写Lua代码一例
  13. Could not find or load main class org.apache.spark.deploy.yarn.ApplicationMaster
  14. dp入门(LIS,LCS)
  15. Unity 3D动态修改Shader状态,使物体透明等等
  16. [转帖] Windows 与linux的栈大小问题
  17. [转]自定义注释@interface的用法
  18. .Net WEB 程序员需要掌握的技能
  19. DNS隧道通信的检测
  20. 026-B树(一)

热门文章

  1. 第二个参数(那个 properties)确定你将如何使用这个特性值
  2. Two-Phase-Commit for Distributed In-Memory Caches--reference
  3. 窗口 对话框 Pop Dialog 示例
  4. jQuery验证框架 .
  5. RecyclerView更通用——listView的onItemClick,onLongItemClick,addHeaderView,addFooterView
  6. linux free命令建检查内存状态
  7. MySQL查看数据库大小、表大小和最后修改时间
  8. iOS9中通过UIStackView实现类似大众点评中的效果图
  9. 几种破解MySQL root密码的几种方法:
  10. 汇编test和cmp区别