2

ADO.net Entity Data Model を使用して、子コレクションを持つ親オブジェクトをワンステップで作成する方法を知りたいです。

例: これは、親オブジェクト「Video」とその子 VideoData ダイアグラムです。

親オブジェクト

ビデオデータでビデオオブジェクトを作成する必要があります

これは、足場オプションによって作成された剃刀ビューです

@model Test.Models.Video

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
    <fieldset>
        <legend>Video</legend>

        <div class="editor-label">
            @Html.LabelFor(model => model.AddedDate)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.AddedDate)
            @Html.ValidationMessageFor(model => model.AddedDate)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.Data)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.Data)
            @Html.ValidationMessageFor(model => model.Data)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.IsYouTube)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.IsYouTube)
            @Html.ValidationMessageFor(model => model.IsYouTube)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.ImageUrl)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.ImageUrl)
            @Html.ValidationMessageFor(model => model.ImageUrl)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.IsApproved)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.IsApproved)
            @Html.ValidationMessageFor(model => model.IsApproved)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.ApprovedBy)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.ApprovedBy)
            @Html.ValidationMessageFor(model => model.ApprovedBy)
        </div>

        <div class="editor-label">
            @Html.LabelFor(model => model.LastModifiedDate)
        </div>
        <div class="editor-field">
            @Html.EditorFor(model => model.LastModifiedDate)
            @Html.ValidationMessageFor(model => model.LastModifiedDate)
        </div>

        <p>
            <input type="submit" value="Create" />
        </p>
    </fieldset>
}

お気づきのとおり、剃刀ビューには、関連するビデオ データ エンティティに関連付けられたフィールドが含まれていません。

私の質問は: videoData をビデオ作成プロセスに追加するにはどうすればよいですか。

それが役立つ場合は、ここにHttpPost作成がありますVideoController

[HttpPost]
    public ActionResult Create(Video video)
    {
        if (ModelState.IsValid)
        {
            db.Videos.AddObject(video);
            db.SaveChanges();
            return RedirectToAction("Index");  
        }

        return View(video);
    }

投稿されたビデオ オブジェクトに関連するものを含める必要がありますVideoData collection

ご意見をお聞かせください

4

0 に答える 0