[英]Cannot convert from Models.Class to DbContext.Class using Entity Framework and ASP.NET MVC
I'm using a database first approach and I want to insert some data into the database.我正在使用数据库优先方法,我想将一些数据插入数据库。 I am using this code:我正在使用这段代码:
public ActionResult Create(StudentDetails studentDetails)
{
using (StudentRecordManagementEntities1 obj = new StudentRecordManagementEntities1())
{
obj.StudentDetails.Add(studentDetails); //throws error
}
}
Model class: Model class:
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; }
}
Error details:错误详情:
Error CS1503 Argument 1: cannot convert from 'StudentRecordManagement.Models.StudentDetails' to 'StudentRecordManagement.Models.StudentDetail' StudentRecordManagement*错误 CS1503 参数 1:无法从“StudentRecordManagement.Models.StudentDetails”转换为“StudentRecordManagement.Models.StudentDetail”StudentRecordManagement*
If you need more details, kindly let me know.如果您需要更多详细信息,请告诉我。
It looks like your model class is StudentRecordManagement.Models.StudentDetail
, however you are inserting StudentRecordManagement.Models.StudentDetail s .看起来您的 model class 是StudentRecordManagement.Models.StudentDetail
,但是您正在插入StudentRecordManagement.Models.StudentDetail 。 So what you can do is to give necessary type to your Database model:所以你可以做的是给你的数据库 model 提供必要的类型:
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); //
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.