c# - 无法使用 Entity Framework 和 ASP.NET MVC 从 Models.Class 转换为 DbContext.Class

标签 c# entity-framework entity-framework-6

我正在使用数据库优先方法,我想将一些数据插入数据库。我正在使用这段代码:

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/

相关文章:

c# - 使用javascript循环遍历c#数组中的值

c# - 订阅 C# 驱动程序中的 Redis 过期事件?

c# - 控件应该在 ViewModel 中吗?

entity-framework - Entity Framework 过滤器索引

c# - 使用正确的表格格式将带有图像的 DataGridView 数据导出到 Excel、HTML 或 Word

c# - EntityFramework 与 WCF - 如何返回 EF 实体

MySQL 和 Entity Framework 问题

c# - EF7 在实体属性中使用 NotMapped 属性时添加迁移错误

c# - 使 Entity Framework 重用一个值

c# - 不明确的 IQueryable<T>.Where 和 IEnumerable<T>.Where 扩展方法