在查询EF代码第一个数据库时,如何修复InvalidoperationException

时间:2016-06-10 05:22:01

标签: c# entity-framework

查询:

var user = db.Users.FirstOrDefault(u => u.Email.Equals(username) && u.Password.Equals(password));

错误:

Local = 'db.Users.Local' threw an exception of type 'System.InvalidOperationException'

详细错误消息:

  

Message =“在创建模型时不能使用上下文。如果在OnModelCreating方法中使用上下文或者同时由多个线程访问相同的上下文实例,则可能抛出此异常。请注意实例成员d ...   资料来源:“”entityframework“   StackTrace:StackTrace =“System.Data.Entity.Internal.LazyInternalContext.InitializeContext()\ r \ n,位于System.Data.Entity.Internal的上System.Data.Entity.Internal.InternalContext.Initialize()\ r \ n中。 SystemContext.GetEntitySetAndBaseTypeForType(Type entityType)\ r \ n在系统...

1 个答案:

答案 0 :(得分:0)

您可以在连接字符串中设置MultipleActiveResultSets=true;

您应该注意错误消息中的以下内容

同时

o r if the same context instance is accessed by multiple threads

yourcontext context = new yourcontext();

var user = context.Users.FirstOrDefault(u => u.Email.Equals(username) && u.Password.Equals(password));

在使用上下文之前,你必须像

那样处理连接