本文讲述了在ASP.NET MVC3开发中M层使用Code Fisrt如何进行开发,由于作者对ASP.NET MVC3的学习不是很深,所以写的都是些基本的内容(写的如有不正确的地方请评论指正),适合初学者学习,学习完本系列教程您将会使用ASP.NET MVC3进行一些简单系统的开发。

任何数据库开发首先要建立数据库连接,建立连接之前首先要创建数据库,本文就不讲解如何创建数据库了,假设您已经创建了一个数据库,使用Code Fisrt开发时建立数据库连接很简单,只需要在ASP.NET MVC3项目的Model文件夹下创建一个继承自DbContext的类(本文创建的类名:)即可,类的名字一定要与web.config配置文件里面连 接字符串的名字一致,这样建立数据库连接操作就完了,数据库连接上之后需要将数据库里面的表格跟程序里面的类做映射。

作者原创,转载请标明:http://www.kwstu.com/ArticleView/admin_201394171739208

一、连接数据库

Web.config连接字符串配置如下:

<connectionStrings>
<add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-InfoAcquTerminal-20130904155708;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-InfoAcquTerminal-20130904155708.mdf" />
<add name="KzrcwDbContent" connectionString="User Id=用户名;Password=密码;Data Source=ip/SANYC;" providerName="Oracle.DataAccess.Client" />
</connectionStrings>
KzrcwDbContent类的内容如下:
namespace InfoAcquTerminal.Models
{
public class KzrcwDbContent : DbContext
{
public DbSet<SYS_USER> SYS_USER { get; set; }
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Configurations.Add(new SYS_USERMapping());
base.OnModelCreating(modelBuilder);
}
}
}
说明:

1、<add name="KzrcwDbContent"这里的名字一定要和类名一致。

2、public DbSet<SYS_USER> SYS_USER { get; set; }这个就相当于数据库里面的表格,只要数据库里面有的表都要一一建立一个dbset,SYS_USER这个就是我数据库中的表格,不过使用之前首先要针对 数据库里面的表格创建一个实体类,创建时注意数据库中字段类型一定要与类中属性的类型想对应。我的SYS_USER类定义如下:

public class SYS_USER
{
public SYS_USER() { }
public string ID { set; get; }
public string USER_NAME { set; get; }
public string USER_PASSWORD { set; get; }
public string USER_FULLNAME { set; get; }
public string USER_TYPE { set; get; }
public string USER_POWER { set; get; }
public string USER_SCOPE { set; get; }
public string USER_SCOPE2 { set; get; }
public string USER_SCOPE3 { set; get; }
}

3. modelBuilder.Configurations.Add(new SYS_USERMapping());调用下面内容中创建的类。

二、类和数据库中表的映射

映射时需要创建一个继承自EntityTypeConfiguration类,具体代码如下:

public class SYS_USERMapping : EntityTypeConfiguration<SYS_USER>
{
public SYS_USERMapping()
{
ToTable("TS.SYS_USER");
}
}
以上代码将程序中的SYS_USER类映射到数据库中的SYS_USER表格。

本文完。

源码下载(开发环境VS2012 for web):http://www.kwstu.com/ResourcesView/admin_201394171532580

ASP.NET MVC3开发-数据库篇之CodeFisrt开发(一)的更多相关文章

  1. iOS开发数据库篇—SQLite简单介绍

    iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...

  2. iOS开发数据库篇—SQL

    iOS开发数据库篇—SQL 一.SQL语句 如果要在程序运行过程中操作数据库中的数据,那得先学会使用SQL语句 1.什么是SQL SQL(structured query language):结构化查 ...

  3. iOS开发数据库篇—SQL代码应用示例

    iOS开发数据库篇—SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在 ...

  4. iOS开发数据库篇—SQLite的应用

    iOS开发数据库篇—SQLite的应用 一.简单说明 在iOS中使用SQLite3,首先要添加库文件libsqlite3.dylib和导入主头文件. 导入头文件,可以使用库中的函数(是纯C语言的) 二 ...

  5. IOS开发数据库篇—SQLite模糊查询

    IOS开发数据库篇—SQLite模糊查询 一.示例 说明:本文简单示例了SQLite的模糊查询 1.新建一个继承自NSObject的模型 该类中的代码: // // YYPerson.h // 03- ...

  6. iOS开发数据库篇—SQLite常用的函数

    iOS开发数据库篇—SQLite常用的函数 一.简单说明 1.打开数据库 int sqlite3_open( const char *filename,   // 数据库的文件路径 sqlite3 * ...

  7. iOS开发数据库篇—FMDB简单介绍

    iOS开发数据库篇—FMDB简单介绍 一.简单说明 1.什么是FMDB FMDB是iOS平台的SQLite数据库框架 FMDB以OC的方式封装了SQLite的C语言API 2.FMDB的优点 使用起来 ...

  8. iOS开发数据库篇—FMDB数据库队列

    iOS开发数据库篇—FMDB数据库队列 一.代码示例 1.需要先导入FMDB框架和头文件,由于该框架依赖于libsqlite库,所以还应该导入该库. 2.代码如下: // // YYViewContr ...

  9. 【转】 iOS开发数据库篇—SQLite简单介绍

    开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中 ...

随机推荐

  1. 教你一步一步部署.net免费空间OpenShift系列之四------绑定域名、使用CDN加速

    很抱歉这几天没有时间,有人问我怎么绑定域名的问题也没有答复,下面进入正题,惊闻ASP.Net要开源了,难道.Net春天要来了?不废话,上回书说,部署完毕ASP.Net网站后,直接访问不能访问(嗯,众所 ...

  2. 汽车之家购买价格PC真正的原因阿拉丁

        网行业风起云涌,先是6月3号汽车之家天价竞购百度PC阿拉丁.接着今天又有消息说易车拿下百度移动阿拉丁.易车拿下百度移动阿拉丁能够想象.但PC阿拉丁被向来不屑流量购买,以自主流量自居的汽车之家拿 ...

  3. python算法题

    python几道简单的算法题   最近看了python的语法,但是总感觉不知道怎么使用它,还是先来敲敲一些简单的程序吧. 1.题目:有1.2.3.4个数字,能组成多少个互不相同且无重复数字的三位数?都 ...

  4. Xutils呼叫流源代码文件下载方法

    //我主要是好奇Xutils哪里回调onLoading(),查找等了很久也没找到,果然easy查找只是把它写下来 前言: 1.代码摘要只有主线,提供一般流程 2.为了易于理解,码变量名,而是类名的驼峰 ...

  5. 吐槽一下项目中的代码坏味道:滥用java常量

    我们的项目中是否充斥着类似以下的代码呢?定义一个专门存放常量的java类(接口),非常多其它类依赖该常量类. public interface IConstant { int ZERO = 0; St ...

  6. Oracle中的二进制、八进制、十进制、十六进制相互转换函数

    原文:Oracle中的二进制.八进制.十进制.十六进制相互转换函数 Oracle中的二进制.八进制.十进制.十六进制相互转换函数   今天在网上看到一篇关于在oracle中对各种进制数进行转换的帖子, ...

  7. 写给初学前端工程师的一封信 (转于Kejun)

    大家好: 应波波的邀请写一写我对这个话题的想法.从去年开始不少朋友让我帮忙介绍前端工程师,绝大部分忙都没帮上,原因是真找不到人.我当时是这么跟他们分析的:过去的客户端以browser为主,所以HTML ...

  8. Android超炫日期日历控件:TimesSquare

    先看效果图: 使用说明: 在布局文件里: <com.squareup.timessquare.CalendarPickerView android:id="@+id/calendar_ ...

  9. 讲故事的人写的谈判手册——Leo锦书64

    正如其名称所暗示这本书"谈判无处不在".从决定谈判的成功或失败的因素一个不同的观点,测量中详细给出的同一时间. 图书出版不错,这是阅读的样车.阅读收获压力较小的方式.   书能给读 ...

  10. php 解析xml 的四种方法

    XML处理是开发过程中经常遇到的,PHP对其也有很丰富的支持,本文只是对其中某几种解析技术做简要说明,包括:Xml parser, SimpleXML, XMLReader, DOMDocument. ...