Re: [問題] 用PHP的方式去寫.net

看板C_Sharp (C#)作者 (Rex)時間13年前 (2011/11/17 17:33), 編輯推噓1(102)
留言3則, 1人參與, 最新討論串5/5 (看更多)
※ 引述《coldollsheep (加油加油^^)》之銘言: : 另外想請問 : 既然寫在controller裡面 : 是不是我就不用理會LINQ跟Entity Framework類別的建立? : 因為我還不太習慣 也不太清楚到底IDE幫我做甚麼事情 : 所以 假設我在controller 裡面的action撰寫資烙庫連線程式 : 不知道該是怎樣進行? : 我自己有GOOGLE過 但是 不知道為什麼 都失敗 暫略我試過哪些 : 連線:? : //主機:localhost 資料庫:bak 帳號:ryan 密碼:74112588 : string sql = " select * from sku "; : //sku 裡面有十筆資料 兩個欄位 loc itemno : 執行:? : 希望結果為 : data[1][loc] = 值 : data[1][itemno] = 值 : date[2][loc] = 值 : . : . : . : 很粗淺的問題 謝謝 MVC不會用連線字串去連資料庫 一般都是用LinQ MVC 3.0配 sql server 2000沒試過...只用過2005 寫在Controller裡面的只是ViewModel 讓你塞資料, 自定變數 真正的Model還是要建起來才行 先嘗試一下 在Model建立資料庫的模型 Model資料夾上點右鍵 新增項目 選副檔名為DBML的檔案 取名叫做Movie.dbml好了 建立以後點擊打開 然後用伺服器總管把資料表打開 把所有資料表選取 然後拖曳到打開的Movie.dbml開白區域 就會建立Movie資料庫內所有資料表的Model了 如果伺服器總管連不到資料庫 可能就是不支援sql server 2000 假設Movie資料庫下有個資料表也叫做Movie 裡面有個欄位名稱為ID 你就建一個MovieRepository.cs 內容如下 using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; using System.Collections.Generic; using System.Text; using System.Web.Mvc; //using可能多載了甚麼東西, 在檢查下哪些可以拿掉 namespace 專案名稱.Models { public class MovieRepository : BaseRepository { //把所有資料抓出來 public List<Movie> GetALL() { return db.Movie; } } } 建好以後回到Controller 在using那邊加上 using 專案名稱.Models 就可以使用MovieRepository內的東西 .NET C# MVC 很注重名稱 + 形態轉換 你要在Controller抓Movie資料表的資料 要使用MovieRepository 你要在Controller裡面在定義一次 在public class MovieController : BaseController{ } 的大括號裡面 開頭第一段加上 MovieRepository movieRepo = new MovieRepository(); 然後要抓單一筆資料 你還要再定義一個只抓Movie一筆資料的形態 在你要處理資料的ActionResult開頭加上定義 Movie MovieData = new Movie(); //新的Movie資料表內只抓單一筆資料的型態 //抓ID=1的單筆資料, FirstOrDefault代表有多筆的話只抓第一筆或預設 MovieData = movieRepo.GetAll() .where(m => m.ID == 1) .FirstOrDefault(); viewModel.ID = MovieData.ID //ViewModel就會等於抓出來的ID 雖然盡量寫的很清楚了 不過第一次用應該會有點霧煞煞 先寫這樣 等等在編輯 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.128.120.120

11/18 11:54, , 1F
試用的結果是...建立的dbml拉不過去...
11/18 11:54, 1F

11/18 11:54, , 2F
我先用別的方式看看
11/18 11:54, 2F
http://www.cnblogs.com/libinlink/archive/2011/05/03/2035282.html 這邊是寫mvc 3.0 有支援 sql server 2000 可能要再試看看囉 ※ 編輯: RexLou 來自: 210.68.27.100 (11/18 13:11)

11/18 14:25, , 3F
...真是太感謝你了 不支援的是VWD 並不是MVC本身 ^^
11/18 14:25, 3F
文章代碼(AID): #1EnDJX9S (C_Sharp)
文章代碼(AID): #1EnDJX9S (C_Sharp)