本文讲述了在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. ASP.NET 5 Web 项目

    在Mac OS X Yosemite 10.10.3 中搭建第一个 ASP.NET 5 Web 项目 终于有时间在 Mac 上安装一下 ASP.NET 5,网上有许多教程,但是多数的时间比较早了,版本 ...

  2. Android编码标准

    只是练习是很难找工作那会儿在,简历基本上都是赶出去石沉大海,因为有项目开发没有实践经验.没有牛逼的背景.更重要的是,没有真才实学,虽然我在大学时读的是计算机专业,它可以被认为是一个技术教育.但--你知 ...

  3. ProgressDialog(四)——更改系统自带ProgressDialog文字大小

    MainActivity如下面: package com.example.ttt; import android.app.Activity; import android.app.ProgressDi ...

  4. EF 事物

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  5. 关于重写ID3 Algorithm Based On MapReduceV1/C++/Streaming的一些心得体会

    心血来潮,同时想用C++连连手.面对如火如荼的MP,一阵念头闪过,如果把一些ML领域的玩意整合到MP里面是不是很有意思 确实很有意思,可惜mahout来高深,我也看不懂.干脆自动动手丰衣足食,加上自己 ...

  6. javascript2

    代码变化一:<script> function abs(){ var x; if(x>0){ return x; } else{ return -x; } } console.log ...

  7. 安卓CTS官方文档之兼容性测试套件简介-attach

    官方英文文档原文:https://source.android.com/compatibility/cts-intro.html Compatibility Test Suite  兼容性测试套件 H ...

  8. GRIDDATA(表格)第二版

    JQUERY 插件开发——GRIDDATA(表格)第二版 开发背景 表格插件之前我也写个一篇,当时写那个插件的时候,我自己还没有总结出写插件的方法,虽然功能实现了,但是使用起来还是有点别扭的,并且需要 ...

  9. HBuilder CSS 自定义代码块

    =begin 本文档是CSS代码块的编辑文件.注意不要把其他语言的设置放到css里来. HBuilder可使用ruby脚本来编辑代码块和增强操作命令. 1.编辑代码块 如果要新增一个代码块,复制如下一 ...

  10. 初识Python-web框架的这两天

    前段时间打算学习python,其实时间蛮紧张的,看看文字教程,累了就看视频教程.算是把基本的语法过了一遍,但是OOP就费了好大的气力 ,C里有的对象,继承,等等等,还算能理解.不过高级点的就理解起来吃 ...