首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在添加web api控制器的同时创建模型时,无法使用上下文

在添加web api控制器的同时创建模型时,无法使用上下文
EN

Stack Overflow用户
提问于 2014-12-09 01:34:03
回答 1查看 2K关注 0票数 0

这是我的模型

代码语言:javascript
运行
复制
public class Game
{
     [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    [Required]
    public string  GameName { get; set; }
    public virtual ICollection<GameImages> GameImage { get; set; }


}
 public class GameImages
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int Id { get; set; }
    [Required]
    [DataType(DataType.ImageUrl)]
    public string GameImageUrl { get; set; }
    public int Game_Id { get; set; }

    [ForeignKey("Game_Id")]
    public virtual Game games { get; set; }

}
 public class GameDbContext:DbContext
    {
        public GameDbContext():base("name=DefaultConnection") { }
        public DbSet<Game> Games { get; set; }
        public DbSet<GameImages> Images { get; set; }

    }

我有两个控制器,使用Entity Framework进行读/写操作。我使用EF添加了另一个具有读/写操作的web api控制器。当尝试访问GET api时,我得到了以下错误

代码语言:javascript
运行
复制
<Error>
<Message>An error has occurred.</Message>
<ExceptionMessage>
The context cannot be used while the model is being created.
</ExceptionMessage>
<ExceptionType>System.InvalidOperationException</ExceptionType>
<StackTrace>
at System.Data.Entity.Internal.LazyInternalContext.InitializeContext() at System.Data.Entity.Internal.InternalContext.Initialize() at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType) at System.Data.Entity.Internal.Linq.InternalSet`1.Initialize() at System.Data.Entity.Internal.Linq.InternalSet`1.ToString() at System.Data.Entity.Infrastructure.DbQuery`1.ToString() at System.Convert.ToString(Object value, IFormatProvider provider) at System.Web.Http.Tracing.FormattingUtilities.ValueToString(Object value, CultureInfo cultureInfo) at System.Web.Http.Tracing.Tracers.HttpActionDescriptorTracer.<ExecuteAsync>b__2(TraceRecord tr, Object value) at System.Web.Http.Tracing.ITraceWriterExtensions.<>c__DisplayClass1b`1.<>c__DisplayClass1f.<TraceBeginEndAsync>b__13(TraceRecord traceRecord) at System.Web.Http.Tracing.SystemDiagnosticsTraceWriter.Trace(HttpRequestMessage request, String category, TraceLevel level, Action`1 traceAction) at System.Web.Http.Tracing.ITraceWriterExtensions.<>c__DisplayClass1b`1.<TraceBeginEndAsync>b__12(TResult result) at System.Threading.Tasks.TaskHelpersExtensions.<>c__DisplayClass3b`2.<Then>b__3a(Task`1 t) at System.Threading.Tasks.TaskHelpersExtensions.ThenImpl[TTask,TOuterResult](TTask task, Func`2 continuation, CancellationToken cancellationToken, Boolean runSynchronously)
</StackTrace>
</Error>

需要帮助这里发生了什么?

EN

Stack Overflow用户

发布于 2014-12-09 09:37:50

1-确保所有模型都已映射并添加到DbContext。

2-向您的DBContext添加一个初始化器,并尝试调试数据库的创建。

3-检查这个question,或者this,也许它对你有帮助。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27363582

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档