1

Entity Framework 5でデータベースの最初のモデルを使用していますが、行を追加しようとすると、「アセンブリにビューが見つからなかったか、テーブル'ui_renewals'に対して生成できませんでした。」というエラーが表示されます。

テーブルは私のEDMXに存在し、テンプレートはui_renewalsクラスを生成しました。EDMXからテーブルを削除し、[データベースからモデルを更新]オプションを使用してテーブルを再度追加しましたが、同じエラーが発生します。別の接続を作成すると問題は解決しますが、それは理想的とは言えない解決策(応急修理のようなもの)のように思えますが、将来の維持がより困難になることは言うまでもありません。

ui_renewalsの行を追加または更新できるように(両方を試しました)、これを修正する方法についてのアイデアはありますか?

これが私が現在使用しているコードです-以前の違いは、uiの代わりにdbをDBContextとして使用していました(はい、レシートのスペルが間違っています-レガシーのものが大好きです)

        [HttpPost]
    public bool UpdateTeacher(string login_id, string password, UIRenewal data)
    {
        if (ModelState.IsValid)
        {
            // map from UIRenewal VM to ui_renewal
            ui_renewals Renewal = Mapper.Map<UIRenewal, ui_renewals>(data);
            // check to see if this is a new entry or not
            var tmp = ui.ui_renewals.Find(Renewal.reciept);
            if (tmp == null)
                ui.ui_renewals.Add(Renewal);
            else
            {
                // mark as modified
                db.Entry(Renewal).State = EntityState.Modified;
            }
            // save it
            try
            {
                ui.SaveChanges();
            }
            catch (DBConcurrencyException)
            {
                return false;
            }
            return true;
        }
        return false;
    }

モデル(v_recent_license)にビューがあることを述べておく必要があります。

4

1 に答える 1