作者RexLou (Rex)
看板C_Sharp
标题Re: [问题] 用PHP的方式去写.net
时间Thu Nov 17 17:33:19 2011
※ 引述《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
1F:推 coldollsheep:试用的结果是...建立的dbml拉不过去... 11/18 11:54
2F:→ coldollsheep:我先用别的方式看看 11/18 11:54
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)
3F:→ coldollsheep:...真是太感谢你了 不支援的是VWD 并不是MVC本身 ^^ 11/18 14:25