2013-09-24 44 views
1

我想知道是否有人可以幫助我在現有數據庫上創建數據上下文並從中進行搜索。ASP.NET MVC 4從現有數據庫搜索

是我到目前爲止已經完成:

  1. 製造的ConnectionString現有的web.config文件數據庫(相同的名稱,我的新創建的DataContext類)
  2. 製造DataContext類和模型類爲它在那裏是我想要得到的領域。
  3. 爲它使控制器這就要求搜索
  4. 製造視圖控制器

這裏是我使用的代碼。

DataContext類

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Data.Entity; 

namespace KendoUIMvcCim.Models 
{ 
    public class CustDataContext : DbContext 
    { 
     public DbSet<Contacts> CLIENT { get; set; } 

    } 
} 

因爲我想要的信息Model類搜索

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.ComponentModel.DataAnnotations; 

namespace KendoUIMvcCim.Models 
{ 
    public class Contacts 
    { 
     [Key] 
     public int CLIENT_ID { get; set; } 
     public string FIRSTNAME { get; set; } 
     public string LASTNAME { get; set; } 
     public string TEL_TEL1 { get; set; } 
     public string TEL_TEL2 { get; set; } 
     public string TEL_GSM { get; set; } 
    } 
} 

控制器

public ActionResult Testi(int? clientid) 
     { 
      using (var db = new CustDataContext()) 
     { 
      var contact = db.CLIENT.Find(clientid); 

      if (contact != null) 
      { 
       return View(contact); 
      } 
      else 
      { 
       return RedirectToAction("Index", "Customer"); 
      } 

     } 

任何幫助,將不勝感激!

最好的問候, 艾羅

+0

看看在http://www.infinitedreamers。 co.uk/asp-net-mvc4-ajax-search-tutorial/和鏈接的MVC3教程。 –

+0

這幫助我正確的方式,無法讓它手動創建DBContexts。但是在使用ADO.NET實體數據模型後,它才能正常工作。我不想這麼做,因爲我只想從一張大桌子裏拿出幾列,但是現在就猜這是必須要做的。謝謝! – Porttila

回答

0

使用LINQ這樣的:

public ActionResult Index(string searchTerm = null) 
    { 

     var model = 
      _db.Clients 
      .Where(r => searchTerm == null || r.FirstName.StartsWith(searchTerm) || r.LastName.StartsWith(searchTerm)) 
       .Take(10) 
       .Select r; 

     return View(model); 
    } 

索引視圖可能是這樣的:

@model IEnumerable<AppName.Models.ModelName> 

@{ 
    ViewBag.Title = "Home Page"; 
} 

<form method="GET"> 
    <input type="search" name="searchTerm" /> 
    <input type="submit" value="Search for a name"/> 
</form> 
@try 
{ 
    foreach (var item in Model) 
    { 
     <h3>@Html.DisplayFor(modelItem => item.FirstName)</h3> 
     <p>@Html.DisplayFor(modelItem => item.LastName)</p> 

    } 
} 
catch (NullReferenceException nullex) 
{ 
    <p>@nullex</p> 
} 
+0

謝謝你,對於遲到的回覆感到抱歉! – Porttila