2016-03-30 58 views
1

我目前使用MVC 3與實體框架5. 所以這是我的控制器,它被稱爲MachineController:ASP.NET MVC 3 - 讓重複的行

using System; 
using System.Collections.Generic; 
using System.Data; 
using System.Data.Entity; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using Gestion_Machines.Models; 

namespace Gestion_Machines.Controllers 
{ 
    public class MachineController : Controller 
    { 
     private RTTV5Entities db = new RTTV5Entities(); 

     // 
     // GET: /Machine/ 

     public ViewResult Index() 
     { 
      return View(db.tMachines.ToList()); 
     } 

     // 
     // GET: /Machine/Details/5 

     public ViewResult Details(string id) 
     { 
      tMachines tmachines = db.tMachines.Find(id); 
      return View(tmachines); 
     } 

     // 
     // GET: /Machine/Create 

     public ActionResult Create() 
     { 
      return View(); 
     } 

     // 
     // POST: /Machine/Create 

     [HttpPost] 
     public ActionResult Create(tMachines tmachines) 
     { 
      if (ModelState.IsValid) 
      { 
       db.tMachines.Add(tmachines); 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 

      return View(tmachines); 
     } 

     // 
     // GET: /Machine/Edit/5 

     public ActionResult Edit(string id) 
     { 
      tMachines tmachines = db.tMachines.Find(id); 
      return View(tmachines); 
     } 

     // 
     // POST: /Machine/Edit/5 

     [HttpPost] 
     public ActionResult Edit(tMachines tmachines) 
     { 
      if (ModelState.IsValid) 
      { 
       db.Entry(tmachines).State = EntityState.Modified; 
       db.SaveChanges(); 
       return RedirectToAction("Index"); 
      } 
      return View(tmachines); 
     } 

     // 
     // GET: /Machine/Delete/5 

     public ActionResult Delete(string id) 
     { 
      tMachines tmachines = db.tMachines.Find(id); 
      return View(tmachines); 
     } 

     // 
     // POST: /Machine/Delete/5 

     [HttpPost, ActionName("Delete")] 
     public ActionResult DeleteConfirmed(string id) 
     {    
      tMachines tmachines = db.tMachines.Find(id); 
      db.tMachines.Remove(tmachines); 
      db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     protected override void Dispose(bool disposing) 
     { 
      db.Dispose(); 
      base.Dispose(disposing); 
     } 
    } 
} 

這是我的索引視圖,這是自動與創建,刪除,細節和編輯一起創建控制器後生成:

@model IEnumerable<Gestion_Machines.Models.tMachines> 

@{ 
    ViewBag.Title = "Index"; 
} 

<link href="../../Content/machine.css" rel="stylesheet" /> 
<h2>Index</h2> 

<p> 
    @Html.ActionLink("Create New", "Create") 
</p> 
<table> 
    <tr> 
     <th> 
      NomMachine 
     </th> 
     <th> 
      Fabriquant 
     </th> 
     <th> 
      MachineSection 
     </th> 
     <th> 
      TypeMachine 
     </th> 
     <th> 
      VitesseMaxi 
     </th> 
     <th> 
      NbPistes 
     </th> 
     <th> 
      UniteVitesse 
     </th> 
     <th> 
      UniteEntrante 
     </th> 
     <th> 
      UniteSortante 
     </th> 
     <th> 
      Efficience 
     </th> 
     <th> 
      EfficienceGlobale 
     </th> 
     <th> 
      VitesseMoy 
     </th> 
     <th> 
      TauxPanne 
     </th> 
     <th> 
      TauxArret 
     </th> 
     <th> 
      RunM2 
     </th> 
     <th> 
      RunML 
     </th> 
     <th> 
      TCO 
     </th> 
     <th> 
      Section 
     </th> 
     <th> 
      Atelier 
     </th> 
     <th> 
      TransfertFocus 
     </th> 
     <th> 
      MagasinEntree 
     </th> 
     <th> 
      MagasinSortie 
     </th> 
     <th> 
      NbPalettes 
     </th> 
     <th> 
      MagasinSortieWIP 
     </th> 
     <th> 
      MagasinSortieSF 
     </th> 
     <th> 
      MagasinSortieFG 
     </th> 
     <th> 
      Qualite 
     </th> 
     <th> 
      BlistersPerCarton 
     </th> 
     <th> 
      SeuilProdAtteint 
     </th> 
     <th> 
      TpsChgmtOf 
     </th> 
     <th> 
      QteProdSaisie 
     </th> 
     <th> 
      Active 
     </th> 
     <th></th> 
    </tr> 

@foreach (var item in Model) { 
    <tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.NomMachine) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Fabriquant) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MachineSection) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TypeMachine) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.VitesseMaxi) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.NbPistes) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.UniteVitesse) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.UniteEntrante) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.UniteSortante) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Efficience) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.EfficienceGlobale) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.VitesseMoy) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TauxPanne) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TauxArret) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.RunM2) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.RunML) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TCO) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Section) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Atelier) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TransfertFocus) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MagasinEntree) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MagasinSortie) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.NbPalettes) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MagasinSortieWIP) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MagasinSortieSF) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.MagasinSortieFG) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Qualite) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.BlistersPerCarton) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.SeuilProdAtteint) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.TpsChgmtOf) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.QteProdSaisie) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Active) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { /* id=item.PrimaryKey */ }) | 
      @Html.ActionLink("Details", "Details", new { /* id=item.PrimaryKey */ }) | 
      @Html.ActionLink("Delete", "Delete", new { /* id=item.PrimaryKey */ }) 
     </td> 
    </tr> 
} 

</table> 

所以我的問題是,當我訪問/Machine/Index我得到相應的表,但不知何故,它包含重複的記錄,而其他記錄丟失。 我沒有改變控制器或視圖中的任何東西,它們都生成了。

ps:我的數據庫不包含任何重複的數據庫。

編輯: 我可以在我的桌子上看到完全49個記錄。基本上只有3個不同的記錄,其中一個重複6次,另一個重複42次而另一個不重複。 在我的原始數據庫表上,我得到了49個沒有重複記錄的記錄。

已經試圖從服務器資源管理器中查看我的機器表(點擊右鍵>「顯示錶數據」),我得到了以下錯誤: This Database Cannot be imported. It is either an unsupported SQL Server version or an unsupported database compatibility.

目前,我正在尋找此錯誤。

+0

您在Machines表中有多少條記錄?你在屏幕上看到了多少? – Shyju

+0

我在Machines表視圖中看到了49條記錄。基本上只有3個不同的。其中一個重複了六次,另一個重複了42次,另一個(最後一個)重複了一次。 在我的實際數據庫中有49條記錄,我沒有重複。 注意:我剛剛意識到,當我嘗試在服務器資源管理器中單擊「顯示錶數據」時,出現錯誤提示「此數據庫無法導入,它是不支持的SQL Server版本或不支持的數據庫兼容性」 我在說話時正在尋找這個問題。 – Angelo

+0

兼容性問題解決了,我現在可以在Visual Studio中正確顯示我的表格數據。雖然,當我執行應用程序時,我仍然得到重複的行。這隻發生在特定的表格中。但我不確定爲什麼。 – Angelo

回答

1

幾個星期前,我真的有這個問題,直到我決定更新我的Visual Studio,去tools > Extensions and Updates > Updates,確保你的VS更新到最後一個版本 這個問題解決了我的問題。

希望我幫了

+0

我剛剛得到它的工作,我沒有更新它,但我安裝了VS的最新版本,問題解決了。我想更新會工作..你以前去過哪裏! :) – Angelo