• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目(2)创建数据库 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

索引

【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 目录索引

简述

我们创建一个数据库然后生成数据模型,添加ADO.NET实体数据模型,这里呢常用的有两种方式,一种是DbFirst,一种是CodeFirst,为了简便,我们使用DbFirst。有基础的朋友可以使用CodeFirst,对项目没有影响的。

项目准备

我们用的工具是:VS 2013 + SqlServer 2012 + IIS7.5

希望大家对ASP.NET MVC有一个初步的理解,理论性的东西我们不做过多解释,有些地方不理解也没关系,会用就行了,用的多了,用的久了,自然就理解了。

项目开始

一、创建数据库 wkmvc_db

创建数据库。。。咱就不多讲了,可以T-SQL(方便移植),我就用最基本的来创建吧~~

二、我们创建一个用户表 

我们创建一个用户表,因为这个用户表我打算是给后台用户使用的,也就是管理员表,所以我们叫做SYS_USER

我们给这个表添加一些字段属性

数据库名:wkmvc_db
表名:SYS_USER
 
序号 列名 数据类型 长度 小数位 标识 主键 外键 允许空 默认值 说明
1 ID int 4 0     主键ID
2 NAME nvarchar 50 0         真实姓名
3 ACCOUNT nvarchar 20 0         用户帐号
4 PASSWORD nvarchar 1000 0         用户密码
5 ISCANLOGIN int 4 0         是否锁定(0否1是)
6 SHOWORDER1 int 4 0         部门内的排序
7 SHOWORDER2 int 4 0         公司内的排序
8 PINYIN1 nvarchar 50 0         姓名全拼
9 PINYIN2 nvarchar 50 0         姓名首字符
10 FACE_IMG nvarchar 200 0         用户头像
11 LEVELS nvarchar 36 0         级别(对接SYS_CODE)
12 DPTID nvarchar 36 0         主部门ID,用户所在的部门
13 CREATEPER nvarchar 36 0         创建者
14 CREATEDATE datetime 8 3         创建时间
15 UPDATEUSER nvarchar 36 0         修改者
16 UPDATEDATE datetime 8 3         修改时间
17 LastLoginIP nvarchar 50 0         最后一次登录IP

 

T-SQL:

USE [wkmvc_db]
GO
/****** Object:  Table [dbo].[SYS_USER]    Script Date: 2016/5/9 15:30:30 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[SYS_USER](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [NAME] [nvarchar](50) NULL,
    [ACCOUNT] [nvarchar](20) NULL,
    [PASSWORD] [nvarchar](1000) NULL,
    [ISCANLOGIN] [int] NULL,
    [SHOWORDER1] [int] NULL,
    [SHOWORDER2] [int] NULL,
    [PINYIN1] [nvarchar](50) NULL,
    [PINYIN2] [nvarchar](50) NULL,
    [FACE_IMG] [nvarchar](200) NULL,
    [LEVELS] [nvarchar](36) NULL,
    [DPTID] [nvarchar](36) NULL,
    [CREATEPER] [nvarchar](36) NULL,
    [CREATEDATE] [datetime] NULL,
    [UPDATEUSER] [nvarchar](36) NULL,
    [UPDATEDATE] [datetime] NULL,
    [LastLoginIP] [nvarchar](50) NULL,
 CONSTRAINT [PK_SYS_USER] PRIMARY KEY CLUSTERED 
(
    [ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主键ID' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'ID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'真实姓名' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'NAME'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户帐号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'ACCOUNT'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户密码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'PASSWORD'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'是否锁定(0否1是)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'ISCANLOGIN'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'部门内的排序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'SHOWORDER1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'公司内的排序' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'SHOWORDER2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名全拼' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'PINYIN1'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'姓名首字符' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'PINYIN2'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'用户头像' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'FACE_IMG'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'级别(对接SYS_CODE)' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'LEVELS'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'主部门ID,用户所在的部门' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'DPTID'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建者' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'CREATEPER'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'创建时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'CREATEDATE'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改者' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'UPDATEUSER'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'修改时间' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'UPDATEDATE'
GO
EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'最后一次登录IP' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SYS_USER', @level2type=N'COLUMN',@level2name=N'LastLoginIP'
GO
View Code

然后,我们新建个登录用户 sa_wkmvc 密码 就123456 啦,并且添加用户映射

安全性→登录名→新建登录名

 

 

二、添加ADO.NET实体数据模型 Sql_Wkdb

在我们的Domain中,我们添加一个ADO.NET实体数据模型 叫做Sql_Wkdb

右击Domain→添加→ADO.NET实体数据模型 Sql_Wkdb

 

 

选择来自数据库的EF设计器(DbFirst)

 

下一步,然后点击新建连接,因为我是本地的数据库,所以我的服务器名称我写个.,选择 使用SQL Server 身份验证 ,并且选择或输入我们要连接的数据库名称

 

点击确定,然后我们更改一下 连接设置配置文件,我们存为Entities

 

选择版本

 

更改一下模型的命名空间为Domain

 

OK,实体数据模型创建成功!

 

我们来新建个配置类 MyConfig.cs,用于数据库连接字符串的提取(上学的时候老师讲的一般是在公共操作类DBHelper中定义const string strConnectionString = ConfigurationManager.ConnectionStrings["SqlConnectionString"].ConnectionString)

  1 using System;
  2 using System.Collections.Generic;
  3 using System.Configuration;
  4 using System.Data;
  5 using System.Linq;
  6 using System.Text;
  7 
  8 namespace Domain
  9 {
 10     /// <summary>
 11     /// 数据库连接字符串提取操作
 12     /// 字符串对应应用程序中配置文件
 13     /// 模型对应Domain中的数据库模型Context.cs构造函数
 14     /// </summary>
 15     public class MyConfig : Entities
 16     {
 17         /// <summary>
 18         /// 封装EF实体模型,供Dao使用,
 19         /// </summary>
 20         public System.Data.Entity.DbContext db { get; private set; }
 21 
 22         public MyConfig()
 23         {
 24             //实例化EF数据上下文
 25             db = new Entities();//注:Entities()要修改成与EF上下文统一
 26         }
 27 
 28         #region 连接数据库配置
 29         /// <summary>
 30         /// 数据库连接字符串
 31         /// </summary>
 32         public static string DefaultConnectionString = "";
 33         /// <summary>
 34         /// 通用数据库链接对象配置
 35         /// </summary>
 36         public static IDbConnection DefaultConnection
 37         {
 38             get
 39             {
 40                 IDbConnection defaultConn = null;
 41                 //数据库类型
 42                 string action = ConfigurationManager.AppSettings["daoType"];
 43                 switch (action)
 44                 {
 45                     //case "oracle":
 46                     //    defaultConn = new Oracle.ManagedDataAccess.Client.OracleConnection();
 47                     //    DefaultConnectionString = ConfigurationManager.ConnectionStrings["OracleConnectionString"].ConnectionString;
 48                     //    break;
 49                     case "mssql":
 50                         defaultConn = new System.Data.SqlClient.SqlConnection();
 51                         DefaultConnectionString = ConfigurationManager.ConnectionStrings[ 
                       
                    
                    

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
asp.net MVC&amp;JQuery 应用(树型表格 )发布时间:2022-07-10
下一篇:
茗洋--ASP.NET MVC4 IN ACTION 教程目录 wenthink写的    ...发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap