MVC ef 链接数据库

1.建立数据库web

2.建立表sql

 

[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...”。ide

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

 

4.添加数据库链接字符串ui

双击“Web.config”spa

添加链接字符串:.net

 

[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目录下,添加实体上下文类StuInfoDBContextcode

注意添加EF应用server

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”