我有一个长期以来一直运作良好的项目。当我今天试图调试项目时,它说它无法找到实体框架。我觉得这很奇怪,所以我尝试安装最新版本的Entity Framework。现在当它加载时我得到以下错误,这是我以前从未有过的:
无效的对象名称'dbo.Events'。
数据库中没有名为events的表。当它命中以下代码时会发生这种情况:
myModel mmContext = new myModel();
DateTime compareDate = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
List<Event> evs = mmContext.Events.Where(e => e.ListId == 1 && e.endDate >= compareDate).OrderBy(e => e.startDate).ToList();
哪个应使用以下型号:
public class myModel : DbContext
{
public myModel()
: base("myConnection")
{ }
public DbSet<Event> Events { get; set; }
}
[Table("EventCatalog_Events")]
public class Event
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int EventId { get; set; }
etc...
}
我不知道为什么它开始这样做或如何解决它。有什么想法吗?
答案 0 :(得分:1)
通过在Visual Studio上进行修复来管理以使项目再次运行。仍然不确定究竟是什么导致了这个问题。
<强>更新强> 原来问题是Entity Framework 6.显然它不再支持[Table(&#34; table_name&#34;)] Data Annotation,因为它纯粹是代码优先。一旦我回滚到Entity Framework 5.0.0,它就再次开始工作了。