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)にビューがあることを述べておく必要があります。