无法将system.data.entitystate类型隐式转换为system.data.entity.entitystate(您是否错过了演员?)

时间:2015-04-22 12:31:27

标签: c# entity-framework asp.net-mvc-4 razor

我最近在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;
            }
        }
    }

2 个答案:

答案 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.EntityStateEntry.State指的是System.Data.Entity.EntityState的类型,它与命名空间声明中的内容相冲突。

答案 1 :(得分:1)

您可能已将EF 5更新为EF 6。

用于 EF 5中的更新记录状态使用System.Data.EntityState &安培;在 EF 6 System.Data.Entity.EntityState

执行此操作后,可能会显示错误,然后重建解决方案。