本文讲述了在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. 两个容易被忽略的mysql知识

    原文:两个容易被忽略的mysql知识 为什么标题要起这个名字呢?commen sence指的是那些大家都应该知道的事情,但往往大家又会会略这些东西,或者对这些东西一知半解,今天我总结下自己在mysql ...

  2. CSharp设计模式读书笔记(23):模板方法模式(学习难度:★★☆☆☆,使用频率:★★★☆☆)

    模板方法模式:定义一个操作中算法的框架,而将一些步骤延迟到子类中.模板方法模式使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模式角色与结构: 实现代码: using System; ...

  3. HDU多赛学校9 HDU4969 Just a Joke 【数学积分】

    数学题目 意甲冠军:的男孩向圆上的女孩跑去,保持男孩女孩圆心在同一条直线上.这过程中,男孩女孩均匀速 给出男孩女孩速度,圆的半径,男孩最长能跑的距离 问男孩是否能跑到女孩那里 能够用积分来解这道题,我 ...

  4. MVC提交时验证

    第一种 @using (Html.BeginForm("ProdPromotionEdit", "Product", FormMethod.Post, new ...

  5. 表达式树 Expression

    转载泛型方法动态生成表达式树 Expression public string GetGridJSON(TraderInfo model) { IQueryable<TraderInfo> ...

  6. 【转】UIAutomator定位Android控件的方法实践和建议(Appium姊妹篇)

    原文地址:http://blog.csdn.net/zhubaitian/article/details/39777951 在本人之前的一篇文章<<Appium基于安卓的各种FindEle ...

  7. 编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔

    package sundemo2; import java.io.File; import java.io.FileReader; import java.io.FileWriter; public ...

  8. 【百度地图API】多家地图API文件大小对比

    原文:[百度地图API]多家地图API文件大小对比 于2011.6.9日更新百度地图API文件大小.同时更新图片. 任务描述: 明天就是元宵佳节啦~这是一个团团圆圆的节日,于是,再次想把各家API聚在 ...

  9. 批处理命令篇--配置免安装mysql 5.6.22, 以及1067错误的一个解决方法

    mysql 服务启动出现1067错误的一个解决方法: 当服务启动出现1067错误时,可查看“windows 事件查看器”,发现类似错误提示 Can't find messagefile 'F:\    ...

  10. ARC注意的泄漏问题

    --------- block中常见的泄漏问题 代码中block经常用到.例如网络请求?一些图形分析处理等,就是比较耗时的操作,多线程gcd然后进行操作. 这个时候,会使用block进行处理,然后调用 ...