2012-02-14 2 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"); 
} 

Из моего чтения вашего вопроса

Но Как определить, что имя объекта?

i.e. «как называется класс?»

Это можно увидеть в конструкторе LINQ-to-SQL. Имя класса совпадает с именем объекта в конструкторе, который описывает таблицу. Имя по умолчанию имя для класса такое же, как и таблица, но если оно столкнутся с другим классом этого имени, оно будет переименовано в Student1.

+0

Я добавил индексный указатель, в котором перечислены все ученики. Я хочу перечислить всех этих учеников в порядке убывания. Как мне это сделать? – user793468

Смежные вопросы