zoukankan      html  css  js  c++  java
  • MVC ef 连接数据库

    1.创建数据库

    2.创建表

    [sql] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. <pre name="code" class="sql">CREATE TABLE [dbo].[Student](  
    2.     [ID] [INT] IDENTITY(1,1) NOT NULL,  
    3.     [Name] [NVARCHAR](30) NULL,  
    4.     [StudentNo] [NVARCHAR](20) NULL,  
    5.     [Age] [INT] NULL,  
    6.     [Sex] [NVARCHAR](2) NULL,  
    7.     [Description] [NVARCHAR](100) NULL,  
    8.     [classID] [INT] NULL  
    9. ON [PRIMARY]  
    
    


    3.安装EntityFramework

    点击“References”,鼠标右键选择:“Manage NuGet Packages...”。

    在线搜索“EntityFramework”,下载安装

    4.添加数据库连接字符串

    双击“Web.config”

    添加连接字符串:

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. <connectionStrings>  
    2.     <add name="DataConnection" connectionString="server=127.0.0.1;database=Test;uid=sa;pwd=123456" providerName="System.Data.SqlClient"/>  
    3.   </connectionStrings>  



    5.在Models目录下,添加实体上下文类StuInfoDBContext

    注意添加EF应用

    DataConnection为连接字符串的名称

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.Linq;  
    4. using System.Web;  
    5. using System.Data.Entity;  
    6.   
    7. namespace Iweb.Areas.SiteInfo.Models  
    8. {  
    9.     public class StuInfoDBContext:DbContext  
    10.     {  
    11.         public StuInfoDBContext()  
    12.             : base("DataConnection")  
    13.         {  
    14.         }  
    15.     }  
    16. }  

    6.在Models目录下,添加实体模型类Student

    注意和数据库中表名保持一致,否则EF会新创建一张实体模型类对应的表

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.Linq;  
    4. using System.Web;  
    5.   
    6. namespace Iweb.Areas.SiteInfo.Models  
    7. {  
    8.     public class Student  
    9.     {  
    10.         public int ID { get; set; }  
    11.         public string Name { get; set; }  
    12.         public string StudentNo { get; set; }  
    13.         public int Age { get; set; }  
    14.         public string Sex { get; set; }  
    15.         public string Description { get; set; }  
    16.         public int classID { get; set; }  
    17.     }  
    18. }  


    7.这样程序就和数据库连接起来了,程序中的实体模型和数据库中的表一一对应

    8.测试

    [csharp] view plain copy
     
     在CODE上查看代码片派生到我的代码片
    1. using System;  
    2. using System.Collections.Generic;  
    3. using System.Linq;  
    4. using System.Web;  
    5. using System.Web.Mvc;  
    6. using System.Data;  
    7. using Iweb.Areas.SiteInfo.Models;  
    8.   
    9. namespace Iweb.Areas.SiteInfo.Controllers  
    10. {  
    11.     public class SiteInfoController : Controller  
    12.     {  
    13.         //  
    14.         // GET: /SiteInfo/SiteInfo/  
    15.   
    16.         public ActionResult Index()  
    17.         {  
    18.             StuInfoDBContext stuContext = new StuInfoDBContext();  
    19.             string sql = @"INSERT INTO dbo.Student  
    20.             ( Name ,  
    21.             StudentNo ,  
    22.             Age ,  
    23.             Sex ,  
    24.             Description ,  
    25.             classID  
    26.             )  
    27.             VALUES  ( N'abc' , -- Name - nvarchar(30)  
    28.                     N'1010322119' , -- StudentNo - nvarchar(20)  
    29.                     24 , -- Age - int  
    30.                     N'男' , -- Sex - nvarchar(2)  
    31.                     N'健身,爬山' , -- Description - nvarchar(100)  
    32.                     2  -- classID - int  
    33.             )";  
    34.             stuContext.Database.ExecuteSqlCommand(sql);  
    35.             List<Student> stuLis= stuContext.Database.SqlQuery<Student>("SELECT * FROM dbo.Student").ToList();  
    36.             return View();  
    37.         }  
    38.   
    39.     }  
    40. }  


    原创“http://blog.csdn.net/tkdwave520/article/details/44629903”

  • 相关阅读:
    模拟扑克的洗发牌
    结构体 枚举类型
    return、break和continue
    clipboard.js操作剪贴版——一些移动端交互和兼容经验
    国外主机如何ICP备案
    js文件操作之——导出Excel (js-xlsx)
    深入浅出写一个多级异步回调从基础到Promise实现的Demo
    一个考察闭包的最基础的面试题
    shell常用命令及正则辅助日志分析统计
    node-webkit笔记
  • 原文地址:https://www.cnblogs.com/999c/p/6512887.html
Copyright © 2011-2022 走看看