C# 无法使用实体框架和ASP.NET MVC从Models.Class转换为DbContext.Class
我使用的是数据库优先的方法,我想在数据库中插入一些数据。我正在使用以下代码:C# 无法使用实体框架和ASP.NET MVC从Models.Class转换为DbContext.Class,c#,entity-framework,entity-framework-6,C#,Entity Framework,Entity Framework 6,我使用的是数据库优先的方法,我想在数据库中插入一些数据。我正在使用以下代码: public ActionResult Create(StudentDetails studentDetails) { using (StudentRecordManagementEntities1 obj = new StudentRecordManagementEntities1()) { obj.StudentDetails.Add(studentDetails); //thr
public ActionResult Create(StudentDetails studentDetails)
{
using (StudentRecordManagementEntities1 obj = new StudentRecordManagementEntities1())
{
obj.StudentDetails.Add(studentDetails); //throws error
}
}
模型类:
public class StudentDetails
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int Id { get; set; }
public string Name { get; set; }
public Nullable<long> ContactNumber { get; set; }
public string Address { get; set; }
public decimal Fees { get; set; }
public bool isPaid { get; set; }
}
错误详细信息:
错误CS1503参数1:无法从“StudentRecordManagement.Models.StudentDetails”转换为“StudentRecordManagement.Models.StudentDetails”StudentRecordManagement*
如果您需要更多详细信息,请告诉我。您的模型类似乎是StudentRecordManagement.Models.StudentDetail,但是您正在插入StudentRecordManagement.Models.StudentDetails。因此,您可以为数据库模型提供必要的类型:
public ActionResult Create(StudentDetails studentDetails)
{
using (StudentRecordManagementEntities1 obj = new StudentRecordManagementEntities1())
{
var studentDetail = new StudentRecordManagement.Models.StudentDetail {
Name = studentDetails.Name,
// the other code is omitted for the brevity
};
obj.StudentDetails.Add(studentDetail); //
}
看起来您的模型类是StudentRecordManagement.Models.StudentDetail,但是您正在插入StudentRecordManagement.Models.StudentDetails。因此,您可以为数据库模型提供必要的类型:
public ActionResult Create(StudentDetails studentDetails)
{
using (StudentRecordManagementEntities1 obj = new StudentRecordManagementEntities1())
{
var studentDetail = new StudentRecordManagement.Models.StudentDetail {
Name = studentDetails.Name,
// the other code is omitted for the brevity
};
obj.StudentDetails.Add(studentDetail); //
}