我正在使用数据库优先方法,我想将一些数据插入数据库。我正在使用这段代码:
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; }
}
错误详情:
Error CS1503 Argument 1: cannot convert from 'StudentRecordManagement.Models.StudentDetails' to 'StudentRecordManagement.Models.StudentDetail' 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); //
}
关于c# - 无法使用 Entity Framework 和 ASP.NET MVC 从 Models.Class 转换为 DbContext.Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58890631/