2015-05-09 51 views
-1
  1. 我在數據庫中有兩個表:DocumentUserUIDDocument表中的外鍵。我想從Document中獲得所有記錄,其中UID等於當前用戶ID。假設ID爲1.如何從Document獲得所有值,其中UID等於1在ASP.NET MVC中檢索和刪除數據?

  2. 如何刪除所有記錄,其中的用戶名是1

我想這一切的操作方法。

下面是代碼:

public ActionResult Index() 
     { 
      string id=Session["LoggedUserID"].ToString(); 
      int UID=int.Parse(id); 
      Database1Entities2 db = new Database1Entities2(); 
      var documents = (from d in db.MyDocuments 
          where d.UID == UID 
          select d.ToList()); 
      return View(documents); 
     } 

的代碼中的觀點是:

@model List<string> 
<table> 
    <tr> 
     <th>File Name</th> 
     <th>Download</th> 
    </tr> 
    @for (var i =0; i <= Model.Count -1; i++) 
    { 
     <tr> 
       <td> @Model[i].</td> 
       <td> @Html.ActionLink("Click Here", "Download", new { [email protected][i].ToString() }) </td> 
     </tr> 
    } 
</table> 
+1

歡迎來到SO。您需要包含更多詳細信息,包括您嘗試過的代碼。 –

+0

其實我沒有嘗試過任何代碼,因爲不知道。我在C#和asp.net中也是新手。 – Hiba

+0

它應該像數據庫db = new database(); db.Document.where(.......); – Hiba

回答

0

,我可能會接近這個問題的方法是首先create an Entity Framework model in your project from the database

一旦您建立了模型,在您的操作方法中,您可以添加代碼來操作該數據。例如,選擇從給定用戶ID的所有文件,你可能有類似以下內容:

using (MyDatabaseEntityName database = new MyDatabaseEntityName) 
{ 
    var documents = (from d in database.Document 
        where d.UID == userID 
        select d).ToList() 
} 

同樣地,從給定用戶名刪除記錄你可能會做這樣的事情:

using (MyDatabaseEntityName database = new MyDatabaseEntityName) 
{ 
    var userID = (from d in database.User 
       where d.UserName == userName 
       select d.UID).First(); 

    var documents = from d in database.Documents 
        where d.UserID == userID 
        select d; 

    foreach (var document in documents) 
    { 
     database.Documents.DeleteObject(document); 
    } 

    database.SaveChanges(); 
} 
+0

但現在我怎麼可以訪問我的表字段。我有文檔名稱,文檔擴展名的字段。我想在視圖中訪問它。我在問題 – Hiba

+0

中使用此代碼我的答案中的第一個代碼塊爲您提供了一個名爲'documents'的'List '對象。你應該可以遍歷它並使用'.FieldName'訪問你的字段,即。 'document.Name','document.Extension'等。 –

+0

現在正在工作。謝謝 – Hiba