如何将类的对象发送到数据库以存储在 ASP.NET MVC5 中?

Posted

技术标签:

【中文标题】如何将类的对象发送到数据库以存储在 ASP.NET MVC5 中?【英文标题】:How to send an object of a class to database for storing in ASP.NET MVC5? 【发布时间】:2021-05-30 02:38:11 【问题描述】:

我从表单中获取数据并在控制器的操作方法中检索它。这里我将它存储在一个名为 User Class 的类的对象中。然后我想将它存储在数据库中,为此我创建了一个数据库模型对象。然后我试图通过在下面的代码中实现它来将用户类对象传递给数据库模型,但它给出了无法将 youtube.Models.user 转换为 Youtube.Models.Registerations 的错误。

 //Form
 <form method="post">
        <span class="form-group ">
            <label>First Name:</label>
            <input type="text" class="form-control" id="uname"  name="Fname" required>
        </span>
        <div class="form-group ">
            <label>Last Name:</label>
            <input type="text" class="form-control" id="uname" name="Lname" required>
        </div>
        <div class="form-group ">
            <label>Username:</label>
            <input type="text" class="form-control" id="uname"  name="uname" required>
        </div>
        <div class="form-group ">
            <label>Password:</label>
            <input type="password" class="form-control" id="pwd"  name="pswd" required>
        </div>
        <div class="form-group ">
            <label>Confirm Password:</label>
            <input type="password" class="form-control" id="pwd" name="cpswd" required>
        </div>
        <div id="invalid"></div>
        <input type="submit" name="submit" value="SignUp" class="btn btn-primary">
    </form>

【问题讨论】:

【参考方案1】:

在注册方法中,您正在创建用户模型的对象。但是这一行

youtube.Registration.Add();

告诉实体框架您正在尝试添加注册模型的对象,但您正在传递用户模型的对象为什么它显示错误。

创建一个注册模型的对象,然后初始化它的属性,然后像这样添加到ef中-

Registration registration = new Registration();
resgistration.YourPropertyName1 = "SomeValue";
......
youtube.Registration.Add(registration);
youtube.SaveChanges();

同样适用于用户模型 -

youtube.User.Add(user);
youtube.SaveChanges();

你明白了吧?

【讨论】:

是的,我知道了,非常感谢您的帮助。

以上是关于如何将类的对象发送到数据库以存储在 ASP.NET MVC5 中?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET Core学习——6

ASP.NET Core学习——6

如何在 ASP.Net MVC 5 中调用嵌套 ajax 调用并将对象数据发送到控制器

如何在 ASP.NET Core 中保持对象活动?

ASP.NET 常用五大对象总结- (新手见解)

如何将对象数组发送到服务器。 Asp.Net Core 3.1 405 方法不允许