エンティティオブジェクトレコードを更新したいが、例外は表示されませんが、レコードは更新されません。以前、それはユーザーの更新データの後に、それはEntity Framework Linq更新データが機能しない
public Boolean bookReturnedUpdate(Issue_Detail issue)
{
BookController bookController = new BookController();
int bookID = (int) issue.book_id;
Book_Detail book = bookController.findByBookID(bookID);
int noOfCopies = (int) book.no_of_copies;
book.no_of_copies = ++noOfCopies;
Console.Write("just before the update");
bookController.updateBook(book);
Console.WriteLine("Issue ID" +issue.issue_id);
Boolean status = false;
try
{
using (var db = new ModelDB())
{
DateTime issueD = (DateTime) issue.return_date;
Console.WriteLine("Details " + issueD); // here I can see the date is update and it contains the new date I have inserted
db.Entry(issue).State = EntityState.Modified;
db.Issue_Detail.Attach(issue);
db.SaveChanges(); // this returns 0 when I have checked wit h Console.WriteLine
status = true;
}
}
catch (Exception ex)
{
Console.WriteLine("Book return update error " + ex.InnerException);
}
return status;
}
以下のメソッドを呼び出します。しかし、更新がそのまま、それはまだ古いヌルレコードまま行われた後、NULL値が含まれていobjetct issue_detailで
ありがとうございます。
は、私は誰もが、最も簡単な既存のレコードを更新する場合は、以下のGithubリンク https://github.com/ccmcwolf/LibraryManagementSystem
なぜあなたは 'db.Issue_Detail.Attach(問題を)呼んでいる;'後の 'db.Entry(問題).State = EntityState.Modified;'? – grek40
私はdb.SaceChanges()を追加しようとしましたが、その理由はありません。それを追加しようとしましたが –