2012-02-14 95 views
0

我試圖使用鏈接到SQL來插入記錄。我知道我需要創建一個包含要提交的列數據的新對象。但是,如何識別該對象名稱?如何查找包含列成員的列數據對象名稱

我能夠成功地刪除記錄,但不能插入記錄,因爲我不能夠創造出新的「學生」對象

這裏是我的代碼:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using Student.Models; 

namespace Student.Controllers 
{ 
    public class StudentController : Controller 
    { 
     // 
     // GET: /Student/ 

     private IStudentRepository _repository; 

     public StudentController() : this(new StudentRepository()) 
     { 
     } 

     public StudentController(IStudentRepository repository) 
     { 
      _repository = repository; 
     } 

     public ActionResult Index() 
     {  
      return View(_repository.ListAll()); 
     } 


     public ActionResult RemoveStudent(int id) 
     { 

      StudentDataContext student= new StudentDataContext(); 

      var std = student.Students.Single(h => h.StudentID == id); 
      student.Students.DeleteOnSubmit(std); 
      student.SubmitChanges(); 
      return Content("Student " + id + " Removed"); 
     } 

     public ActionResult AddStudent(int studentID) 
     { 
      StudentDataContext student= new StudentDataContext(); 

      var std = student.Students.FirstOrDefault(h => h.StudentID == studentID); 

      if (std == null || std.StudentID < 1) 
      { 

      student.Students.InsertOnSubmit(std); 
      student.SubmitChanges(); 
      return Content("Student " + id + " Added"); 

      } 

      return Content("Student " + studentID + " is already present"); 
     } 

謝謝Advance

回答

1

您需要創建一個new Student() - 或者您的對象的名稱。

if (std == null || std.StudentID < 1) 
{ 
    // create a new student before trying to insert 
    std = new Student() { StudentID = id }; 

    student.Students.InsertOnSubmit(std); 
    student.SubmitChanges(); 
    return Content("Student " + id + " Added"); 
} 

從我讀你的問題是

但我怎麼識別對象的名字嗎?

即「什麼是班級的名字?」

您可以在LINQ-to-SQL設計器上看到這一點。類的名稱與描述表的設計器上的對象的名稱相同。該類的默認名稱與表相同 - 但是如果它與該名稱的另一個類衝突,則它將被重命名爲Student1

+0

我添加了一個列出所有學生的索引視圖。我想按降序列出所有這些學生。我怎麼做? – user793468 2012-02-14 17:47:20

相關問題