我们通过创建一个新的 ASP.NET MVC3 项目开始,点击 文件 ->新建项目,我们使用 Internet 项目模板,这将为我们的应用提供一个默认的起始模板。
当你在解决方案管理器中观察新创建的项目时,你将会看到 ASP.NET MVC3 更新后的工具增为我们的 ASP.NET MVC3 项目增加了一个新的程序集 EntityFramework 。
EntityFramework 程序集实现了 Entity Framework4.1 ,EF4.1 为 .NET 的数据访问提供了巨大的改进,包括 Code First。EF Code First 提供了完全优雅和干净的数据处理方式 ,使你不再需要设计器或者 XML 的映射文件。通过 ASP.NET MVC3 项目就可以简单的使用这个优点。
我们将使用 EF Code First 来实现项目的数据访问。
Step 2: 实现数据模型类
第一步,我们将创建两个类,Product 和 Category,我们应用程序的数据模型,我们在 Models 文件中中创建标准的 POCO “简单的老的 C# 对象” 。代码如下:
注意到上面的类是标准的 .NET 数据类型,不需要派生自任何基类,也不需要实现任何接口。
对于每个单独的属性,每个类有一个关联属性,例如,Product 类有一个名为 Category 的属性使开发人员可以获取产品所属的 Category ,而 Category 类中有一个名为 Products 的属性,使得开发人员可以获取分类的所有产品,EF Code First 可以自动管理这些关联(使用主外键关系),还可以在后台延迟加载数据。
Step 3: 使用 EF Code First 实现 StoreContext 类
现在,我们已经定义了两个模型类,下一步我们将要实现 DbContext 类,使用 EF Code First 需要使用这个类将模型对象映射到数据库中表,我们的实现如下所示:
我们使用 StoreContext 类映射我们的 Product 和 Category 与数据库的关系,它派生自 EF Code First 中的 DbContext,提供了两个属性关联到数据库中的表,对于我们的例子来说,使用默认的“约定胜于配置”方式,这意味着 Products 属性映射到数据库中的 Products 表,Categories 映射到数据库中的 Categories 表。在博文的后面,我还将讨论如何实现自定义的映射。
你可以将这个类加入到解决方案的任何位置,例如,可以放置在 Models 文件夹中,或者放在一个独立的类库项目中,可能你需要在代码的前面增加对于命名空间 System.Data.Entity 的引用。DbContext 和 DbSet 定义在其中。
Step 4: 搭建 Categories 控制器的脚手架
我们已经创建了从数据库获取或者保存数据的所有内容。现在,我们创建一个 ASP.NET MVC 的控制器来实现对于分类数据的创建/编辑/删除/更新,从前的时候,你不得不手动写一个控制器来完成这些功能,包括你自己实现通过 EF Code First 访问数据代码,现在,ASP.NET MVC3 工具更新现在包括内建的脚手架支持帮助你自动完成这些工作。
搭建一个新的 Categories 控制器类,我们在 /Controllers 文件夹上右键,然后选择 增加 Add ->控制器 Controller 上下文菜单。
MVC分别是Model(模型层) view(视图层) control(控制层)的缩写数据库是属于模型层的。加入在MVC模式中分离一个持久化层,那么Model层就只包括了对象的纯pojo,而数据库此时属于持久化层面.MVC:
Model
-
View
-
Control
分别代表模型,
视图,控制器。
MVC
只是一个编程分层的概念,并不是什么编程技术,你用ASP,PHP,JAVA,.NET
都可以实现。
其中M
与数据库打交道,封装数据 *** 作,只提供接口给
C
C
是路由控制器,负责程序的来龙去脉动,连接
M
与
V
V
是视图,负责接收C传过来的参数并显示给用户
MVC
只要你写好M,C,用模板技术,如
SMARTY
分离出数据与模板即是一个简单的
MVC
框架,我本身也有写
MVC
框架,前后台分离,但共用类库,M与C
都写在共用的文件夹里,统一调用,前后台有各自的V,用SMARTY
分离实现,多模板,多语言切换
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)