1. 程式人生 > >C#在MVC模式下對單表專案執行總結的增刪改查

C#在MVC模式下對單表專案執行總結的增刪改查

C#在MVC模式下對單表進行的增刪改查 1,首先建立一個新專案WebApplication1

2, 接著建立實體類product, 然後通過EF Code First建立資料庫初始資料。派生出DbContext的EF上下文。masterEntities對db檔案的實現 masterEntities : DbContext     以後獲取資料來源直接通過masterEntities

3,在Web.config中 < add name= "aaa" 和Models包下masterEntities進行名稱一致配對 =》   public masterEntities() : base("aaa"),都是aaa

4,Web.config中的資料庫AttachDbFilename =|DataDirectory |\dbConnection.mdf也就是以mdf結尾的,要和資料庫名稱一致

5, 這一步開始建立介面,IProductRepository介面,通過ProductRepository進行實現拓展IProductRepository介面,    在 ProductRepository裡面有GetProdutJson根據查詢引數獲取所有產品,                             AddProduct根據介面資訊進行新增操作                             EditProduct獲取到介面修改後的資訊進行修改操作                             DeleteProducts根據介面傳過來的id進行刪除操作

6,建立控制層ProductController,用於與頁面進行互動,把數值傳給ProductRepository裡面進行實現程式碼對應的功能操作

========================================= 專案啟動, 先呼叫identityConfig.cs檔案中的  public static ApplicationUserManager Create(IdentityFactoryOptions<ApplicationUserManager> options, IOwinContext context) 

裡面的方法, 然後跳到  public static ApplicationSignInManager Create(IdentityFactoryOptions<ApplicationSignInManager> options, IOwinContext context)

會呼叫HomeController裡面的  return View();,直接載入試圖頁面 就是_ViewStart頁面,執行@{     Layout = "~/Views/Shared/_Layout.cshtml"; } 語句,載入也就是view下面的index頁面。

讀取頁面資訊,載入js,跳轉到後臺的GetProdutJson方法裡面獲取資訊 通過資料來源,進行連線

        public static ApplicationDbContext Create()         {             return new ApplicationDbContext();         }

通過請求,獲取裡面對應的屬性引數,  //根據查詢例項查詢對應的資料 LoadProductPageData方法進行呼叫封裝

======================================================= 查詢結果集

頁面載入後,同時也載入了css和js,首先載入 initData();函式進行頁面顯示 然後執行裡面的語句,跳到後臺對應的方法裡面,進行查詢操作。 通過查詢例項獲取資料庫裡面的資料 通過 products = products.Where(p => p.Category.Contains(para.Category));語句進行查詢 集合,封裝成結果集result,然後以Json形式返回,easyUI裡面直接解析把資料展示出來

新增 通過頁面的新增按鈕,進行對應的新增頁面,根據介面獲取到的值,以post的形式傳給後臺對應的AddProduct方法裡面, 通過獲取介面的屬性直接賦給物件對應的屬性,然後通過資料來源進行新增操作。返回提示

修改 通過介面的修改按鈕,勾選要進行修改的資料, 把id傳給後臺public ActionResult EditProduct(int id), 後臺就會根據勾選的id查詢整條資料 var dbProduct = repository.GetById(id);, 賦給一個物件,然後在修改頁面展示出來,當對要修改的資訊修改完後,進行提交, 轉到後臺public ActionResult EditProduct(ProductVm productVm)方法裡面, 通過一致的id,把頁面傳過來的值賦給物件,在進行更新操作,返回提示

刪除操作 在js程式碼中通過$.post("@Url.Action("DeleteProducts", "Product")"進行傳遞,把需要刪除的id拼成字串, 傳到後臺DeleteProducts方法裡面 後臺把id轉為陣列 string[] ids = strIds.Split('_');,在進行遍歷刪除,也就是批量刪除 (其實批量刪除是在單個刪除的基礎上進行操作,如果是單個,直接刪除)