我正在尝试使用Link to 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");
}
先谢谢
答案 0 :(得分: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
。