国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

七天學(xué)會ASP.NET MVC (三)——ASP.Net MVC 數(shù)據(jù)處理

2019-11-17 02:17:30
字體:
供稿:網(wǎng)友

七天學(xué)會asp.net MVC (三)——ASP.Net MVC 數(shù)據(jù)處理

Day3

第三天我們將學(xué)習(xí)Asp.Net中數(shù)據(jù)處理功能,了解數(shù)據(jù)訪問層,EF,以及EF中常用的代碼實(shí)現(xiàn)方式,創(chuàng)建數(shù)據(jù)訪問層和數(shù)據(jù)入口,處理Post數(shù)據(jù),以及數(shù)據(jù)驗(yàn)證等功能。

系列文章

七天學(xué)會ASP.NET MVC (一)——深入理解ASP.NET MVC

七天學(xué)會ASP.NET MVC (二)——ASP.NET MVC 數(shù)據(jù)傳遞

七天學(xué)會ASP.NET MVC (三)——ASP.Net MVC 數(shù)據(jù)處理

七天學(xué)會ASP.NET MVC (四)——用戶授權(quán)認(rèn)證問題

七天學(xué)會ASP.NET MVC (五)——Layout頁面使用和用戶角色管理

七天學(xué)會ASP.NET MVC (六)——線程問題、異常處理、自定義URL

目錄:

數(shù)據(jù)訪問層

實(shí)體框架(EF)簡述

什么是代碼優(yōu)先的方法?

實(shí)驗(yàn)8——在項(xiàng)目中添加數(shù)據(jù)訪問層

關(guān)于實(shí)驗(yàn)8

實(shí)驗(yàn)9——創(chuàng)建數(shù)據(jù)輸入屏幕

實(shí)驗(yàn)10——獲取服務(wù)端或控制器端傳遞的數(shù)據(jù)。

實(shí)驗(yàn)11——重置及取消按鈕

實(shí)驗(yàn)12——保存數(shù)據(jù)。庫記錄并更新表格

實(shí)驗(yàn)13——添加服務(wù)器端驗(yàn)證

實(shí)驗(yàn)14——自定義服務(wù)器端驗(yàn)證

結(jié)論

數(shù)據(jù)訪問層

在實(shí)際開發(fā)中,如果一個項(xiàng)目不包含任何數(shù)據(jù)庫,那么這個項(xiàng)目是不完整的,我們在一二節(jié)實(shí)例中未涉及數(shù)據(jù)庫,在本節(jié)開始,實(shí)驗(yàn)8中講解一個關(guān)于數(shù)據(jù)庫和數(shù)據(jù)庫層的實(shí)例。

本節(jié)將使用SQL Server和EF(Entity Framework)創(chuàng)建相關(guān)的數(shù)據(jù)庫及數(shù)據(jù)庫訪問層。

簡述實(shí)體框架(EF)

EF是一種ORM工具,ORM表示對象關(guān)聯(lián)映射。

在RDMS中,對象稱為表格和列對象,而在.net中(面向?qū)ο螅┓Q為類,對象以及屬性。

任何數(shù)據(jù)驅(qū)動的應(yīng)用實(shí)現(xiàn)的方式有兩種:

1. 通過代碼與數(shù)據(jù)庫關(guān)聯(lián)(稱為數(shù)據(jù)訪問層或數(shù)據(jù)邏輯層)

2. 通過編寫代碼將數(shù)據(jù)庫數(shù)據(jù)映射到面向?qū)ο髷?shù)據(jù),或反向操作。

ORM是一種能夠自動完成這兩種方式的工具。EF是微軟的ORM工具。

什么是代碼優(yōu)先的方法?

EF提供了三種方式來實(shí)現(xiàn)項(xiàng)目:

l 數(shù)據(jù)庫優(yōu)先方法——創(chuàng)建數(shù)據(jù)庫,包含表,列以及表之間的關(guān)系等,EF會根據(jù)數(shù)據(jù)庫生成相應(yīng)的Model類(業(yè)務(wù)實(shí)體)及數(shù)據(jù)訪問層代碼。

l 模型優(yōu)先方法——模型優(yōu)先指模型類及模型之間的關(guān)系是由Model設(shè)計人員在VS中手動生成和設(shè)計的,EF將模型生成數(shù)據(jù)訪問層和數(shù)據(jù)庫。

l 代碼優(yōu)先方法——代碼優(yōu)先指手動創(chuàng)建POCO類。這些類之間的關(guān)系使用代碼定義。當(dāng)應(yīng)用程序首次執(zhí)行時,EF將在數(shù)據(jù)庫服務(wù)器中自動生成數(shù)據(jù)訪問層以及相應(yīng)的數(shù)據(jù)庫。

什么是POCO類?

POCO即Plain Old CLR對象,POCO類就是已經(jīng)創(chuàng)建的簡單.Net類。在上兩節(jié)的實(shí)例中,Employee類就是一個簡單的POCO類。

實(shí)驗(yàn)8——添加數(shù)據(jù)訪問層

1. 創(chuàng)建數(shù)據(jù)庫

連接SQL SERVER ,創(chuàng)建數(shù)據(jù)庫 “SalesERPDB”。

clip_image001

2. 創(chuàng)建連接字符串(ConnectionString

打開Web.Config 文件,在< Configuration >標(biāo)簽內(nèi)添加以下代碼:

   1:  <connectionStrings>
   2:  <add connectionString="Data Source=(local);Initial Catalog=SalesERPDB;Integrated Security=True"
   3:          name="SalesERPDAL"       
   4:          
   5:  </connectionStrings>

3. 添加EF引用

右擊項(xiàng)目->管理Nuget 包。選擇Entity Framework 并點(diǎn)擊安裝。

clip_image003

4. 創(chuàng)建數(shù)據(jù)訪問層

   1:  public class SalesERPDAL: DbContext
   2:  {
   3:  }

5. 創(chuàng)建Employee類的主鍵

打開Employee類,輸入using語句

   1:  using System.ComponentModel.DataAnnotations;

添加Employee的屬性,并使用Key 關(guān)鍵字標(biāo)識主鍵。

public class Employee{    [Key]    public int EmployeeId  { get; set; }    public string FirstName { get; set; }    public string LastName { get; set; }    public int Salary { get; set; }}

6. 定義映射關(guān)系

在SalesERPDAL類文件輸入using語句。

   1:  using Webapplication1.Models;

在 SalesERPDAL 類中重寫 OnModelCreating方法,代碼如下:

   1:  protected override void OnModelCreating(DbModelBuilder modelBuilder)
   2:  {
   3:      modelBuilder.Entity<employee>().ToTable("TblEmployee");
   4:      base.OnModelCreating(modelBuilder);
   5:  }
   6:  </employee>

注意:上述代碼中提到“TblEmployee”是表名稱,是運(yùn)行時自動生成的。

7. 在數(shù)據(jù)庫中添加新屬性Employee

在 SalesERPDAL 類中添加新屬性 Employee。

   1:  public DbSet<employee> Employees{get;set;}
   2:  </employee>
    1. <noscript id="4sllj"></noscript>