我最近在visual studio中做了一些更新,这个错误开始发生,我对MVC很新,我不确定导致这个错误的原因。
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using SystemInformation.BookedEvent.Interfaces;
using SystemInformation.DBModel;
namespace SystemInformation.BookedEvent.Repository
{
public class BookedEventRepository : IBookedEventRepository
{
public void UpdateBooking(IEnumerable<DBModel.BookedEvent> bookings)
{
foreach (var booking in bookings)
{
var record = new DBModel.BookedEvent
{
ID = booking.ID,
UserID = booking.UserID,
EventID = booking.EventID,
DateBooked = booking.DateBooked,
Trainer = booking.Trainer,
Date = booking.Date,
EndDate = booking.EndDate,
Attended = true
};
_context.Entry(record).State = System.Data.EntityState.Modified;
}
}
}
答案 0 :(得分:2)
你需要
_context.Entry(record).State = System.Data.Entity.EntityState.Modified;
insted of
_context.Entry(record).State = EntityState.Modified;
System.Data.EntityState
中有两个实体状态1,另一个是System.Data.Entity.EntityState
,Entry.State
指的是System.Data.Entity.EntityState
的类型,它与命名空间声明中的内容相冲突。
答案 1 :(得分:1)
您可能已将EF 5更新为EF 6。
用于 EF 5中的更新记录状态使用System.Data.EntityState &安培;在 EF 6 System.Data.Entity.EntityState 。
执行此操作后,可能会显示错误,然后重建解决方案。