0

データをデータベースに保存するために、コントローラーに何を修正または追加する必要があるかを確認するのに問題があります。私がこれまでに持っているものを以下に示します。

メソッドの作成

[HttpPost]
    public ActionResult Create(Team model)
    {
        if (ModelState.IsValid)
        {
            new Team
                {
                    Name = model.Name,
                    Division = model.Division,
                    Description = model.Description,

                    TeamContact = new TeamContact
                                        {
                                            EmailAddress = model.TeamContact.EmailAddress,
                                            PhoneNumber = model.TeamContact.PhoneNumber,

                                            TeamAddress = new TeamAddress
                                                            {
                                                                Box = model.TeamContact.TeamAddress.Box,
                                                                StreetName = model.TeamContact.TeamAddress.StreetName,
                                                                StreetNumber = model.TeamContact.TeamAddress.StreetNumber,
                                                                City = model.TeamContact.TeamAddress.City,
                                                                PostalCode = model.TeamContact.TeamAddress.PostalCode,
                                                                Province = model.TeamContact.TeamAddress.Province
                                                            }
                                    }
                };
                _dataSource.Save();
        }

        return View(model);

テーブルの関係

-Team one-to-one TeamContact
-TeamContact one-to-on TeamAddress

IDataSource インターフェイス

    IQueryable<Team> Teams { get; }        
    IQueryable<TeamAddress> TeamAddresses { get; }
    IQueryable<TeamContact> TeamContacts { get; }
    void Save();

コンテキスト クラス

    public DbSet<Team> Teams { get; set; }        
    IQueryable<Team> IDataSource.Teams
    {
        get { return Teams; }
    }

    public DbSet<TeamAddress> TeamAddresses { get; set; }
    IQueryable<TeamAddress> IDataSource.TeamAddresses
    {
        get { return TeamAddresses; }
    }

    public DbSet<TeamContact> TeamContacts { get; set; }
    IQueryable<TeamContact> IDataSource.TeamContacts
    {
        get { return TeamContacts; }
    }

    public void Save()
    {
        SaveChanges();
    }

データをデータベースに保存するには何が欠けていますか?

4

1 に答える 1

1

Teamコントローラーには、実際にデータベースに追加するコードはありません。現在、メモリ内に新しいチーム オブジェクトを作成し、変更をデータベースに保存しているだけです。保存するために実際にデータベースに追加されるものはありません。

Team team = new Team
                {
                    .. the rest of your model building code here ..
                };

_dataSource.Teams.Add(team); // This adds the Team entity to the database
_dataSource.Save();
于 2012-11-28T05:31:38.783 に答える