如何将ICollection值存储到MVC5中的数据库中?

契据

我有一个业务模型,该模型仅继承自ApplicationUser,在其中有一个定义如下的字段:

public class Business : ApplicationUser
{
    ...

    public virtual ICollection<Subcategory> Subcategories { get; set; }

    ...
}

然后,我为此特定模型创建了一个视图模型,并且其中还包括上面的代码行,因此它具有以下功能:

public class BusinessViewModel
{
    ...

    public virtual ICollection<Subcategory> Subcategories { get; set; }

    ...
}

然后,在我看来,我有这样的事情:

<div class="form-group">
    @Html.LabelFor(model => model.Subcategories, "Subcategory", htmlAttributes: new { @class = "control-label col-md-2" })
    <div class="col-md-10">
        <span id="subcats">

        </span>
    </div>
</div>

而且,根据先前选择的类别,我将通过AJAX调用填充子类别。我的JS部分看起来像这样:

$("#CategoryID").change(function () {
    $("#subcats").empty();

    $.ajax({
        type: 'POST',
        url: '/Account/GetSubcategories',
        dataType: 'json',
        data: { id: $("#CategoryID").val() },
        success: function (subcategories) {
            $.each(subcategories, function (i, subcategory) {
                $("#subcats").append('<input type="checkbox" name="' + subcategory.value + '" value="' + subcategory.id + '" />' + subcategory.value + '<br />');
            });
        },
        error: function (ex) {
            console.log('Failed to retrieve subcategories! ' + ex);
        }
    });

    return false;
});

因此,关键是,当表单被填写,并且用户单击按钮后,在AspNetUsers中注册了一个新的业务用户,当我只有一个“业务”的子类别字段时,一切正常,但是现在我更改了逻辑,并且我接受业务子类别的集合。而且我现在不知道如何将其存储在数据库中,我有类似的内容,但是您可以注意到我没有存储子类别。如何存储子类别?

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> RegisterBusiness(BusinessViewModel model)
{
    if (ModelState.IsValid)
    {
        var user = new Business { BusinessName = model.BusinessName, BusinessAddress = model.BusinessAddress, CategoryID = model.CategoryID,
            BusinessZip = model.BusinessZip, BusinessPhone = model.BusinessPhone, BusinessDescription = model.BusinessDescription, Facebook = model.Facebook, Twitter = model.Twitter, UserName = model.BusinessName, Email = model.Email };
        var result = await UserManager.CreateAsync(user, model.Password);

        if (result.Succeeded)
        {
            ...
        }
        AddErrors(result);
    }

    ...
}

我还如何获取已检查的子类别,然后将它们作为集合存储在数据库中?

贾斯汀·斯基尔斯

您可以执行以下操作:

foreach(var subcategory in model.Subcategories)
{
    db.Entry(subcategory).State = EntityState.Unchanged;
    user.Subcategories.Add(subcategory);
}

哪里db是你的ApplicationDbContext基本上,这会遍历模型中的所有子类别,在实体状态方面将它们标记为未更改(因此框架不会尝试将它们作为新的添加到数据库中),然后将子类别添加到用户的集合中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将表单中的值存储到mySQL数据库中?

来自分类Java

如何将MySQL数据库中的值存储到变量中?

来自分类Java

如何将数据库中的值存储到集合中?

来自分类Dev

如何将编码值存储到数据库中

来自分类Dev

如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

来自分类Dev

如何将静态类中的数据存储到ASP中的数据库。网?并修改静态类的值?

来自分类Dev

如何将数据库查询结果中的值存储到机器人框架中的变量中

来自分类Dev

如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?

来自分类Dev

如何将动态表中的数据存储到数据库中

来自分类Dev

如何将Map <String,LinkedList <Object >>数据存储到数据库表中?

来自分类Dev

如何将div标记内的数据存储到数据库中?

来自分类Dev

如何将输入的数据存储到远程数据库中?

来自分类Dev

如何将H2数据库文件存储到项目目录中

来自分类Dev

Laravel如何将数组存储到数据库中

来自分类Dev

如何将Hibernate Envers审核表存储到其他数据库中?

来自分类Dev

如何将PropertyBag类存储到数据库中

来自分类Dev

如何将数据库中存储的多边形绘制到Google地图上

来自分类Dev

我应该如何将HTML标签存储到数据库中?

来自分类Dev

如何将数据库记录存储到Rails的哈希红宝石中

来自分类Dev

Marklogic如何将XQuery文件存储到Modules数据库中

来自分类Dev

Laravel如何将变量存储到数据库中并在每次单击时更新

来自分类Dev

如何将选定的头像存储到数据库中

来自分类Dev

单击创建按钮时,如何将当前时间存储到数据库中?

来自分类Dev

如何将c#imagesource存储到数据库中?

来自分类Dev

如何将 post api 响应存储到 sqlite 数据库中?

来自分类Dev

如何将图像存储在数据库中

来自分类Dev

如何将HashMap存储在值为Arrays的数据库中?

来自分类Dev

如何将 jQuery 范围滑块值转换为表单以存储在 Django 的数据库中

来自分类Dev

如何将列出的值从数据库存储到Anylogic 8.7.1中的变量?

Related 相关文章

  1. 1

    如何将表单中的值存储到mySQL数据库中?

  2. 2

    如何将MySQL数据库中的值存储到变量中?

  3. 3

    如何将数据库中的值存储到集合中?

  4. 4

    如何将编码值存储到数据库中

  5. 5

    如何将javascript的值传递到PHP变量中并存储到mysql数据库中?

  6. 6

    如何将静态类中的数据存储到ASP中的数据库。网?并修改静态类的值?

  7. 7

    如何将数据库查询结果中的值存储到机器人框架中的变量中

  8. 8

    如何将 MySQL 数据库中的数据存储到由 id 索引的数组中?

  9. 9

    如何将动态表中的数据存储到数据库中

  10. 10

    如何将Map <String,LinkedList <Object >>数据存储到数据库表中?

  11. 11

    如何将div标记内的数据存储到数据库中?

  12. 12

    如何将输入的数据存储到远程数据库中?

  13. 13

    如何将H2数据库文件存储到项目目录中

  14. 14

    Laravel如何将数组存储到数据库中

  15. 15

    如何将Hibernate Envers审核表存储到其他数据库中?

  16. 16

    如何将PropertyBag类存储到数据库中

  17. 17

    如何将数据库中存储的多边形绘制到Google地图上

  18. 18

    我应该如何将HTML标签存储到数据库中?

  19. 19

    如何将数据库记录存储到Rails的哈希红宝石中

  20. 20

    Marklogic如何将XQuery文件存储到Modules数据库中

  21. 21

    Laravel如何将变量存储到数据库中并在每次单击时更新

  22. 22

    如何将选定的头像存储到数据库中

  23. 23

    单击创建按钮时,如何将当前时间存储到数据库中?

  24. 24

    如何将c#imagesource存储到数据库中?

  25. 25

    如何将 post api 响应存储到 sqlite 数据库中?

  26. 26

    如何将图像存储在数据库中

  27. 27

    如何将HashMap存储在值为Arrays的数据库中?

  28. 28

    如何将 jQuery 范围滑块值转换为表单以存储在 Django 的数据库中

  29. 29

    如何将列出的值从数据库存储到Anylogic 8.7.1中的变量?

热门标签

归档