实体框架-获取'System.InvalidOperationException'当更改连接到数据库的连
本文关键字:连接 数据库 InvalidOperationException 框架 获取 System 实体 | 更新日期: 2023-09-27 18:01:47
我得到一个类型为'System '的未处理异常。当我运行应用程序时,EntityFramework.dll中出现InvalidOperationException。
我的应用程序是一个基本的c#应用程序,使用实体框架代码优先的方法,我正在尝试连接到数据库。
下面的代码用于向数据库添加数据(在我向App.Config文件添加连接字符串之前,它可以工作)。
static void Main(string[] args)
{
using (var context = new BehaviourContext())
{
Behaviour behaviour = new Behaviour()
{
Name = "test behaviour",
Activation_Threshold = 90,
Currently_Executing = false,
Preconditions_Met = false,
Priority = 0.9f
};
context.Behaviours.Add(behaviour);
context.SaveChanges();
}
}
这是我的context类:
public class BehaviourContext: DbContext
{
public BehaviourContext(): base("name=BehaviourConnectionString")
{
}
public DbSet<Behaviour> Behaviours { get; set; }
}
这个工作很好,直到我添加了一个连接字符串:
<connectionStrings>
<add name="BehaviourConnectionString"
connectionString="Data Source=.;Initial Catalog=BehaviourDB-ByConnectionString;Integrated Security=true"
providerName="System.Data.SqlClient"/>
这是我运行应用程序时得到的完整错误:
类型为"System"的未处理异常。InvalidOperationException'在EntityFramework.dll中发生
附加信息:在创建模型时不能使用上下文。如果上下文在OnModelCreating方法中使用,或者多个线程同时访问同一个上下文实例,则可能引发此异常。请注意,DbContext和相关类的实例成员不能保证是线程安全的。
任何帮助,提示或提示将非常感激。:)
SOLVED
在连接字符串中有一个错误,我忘记添加''SQLEXPRESS'
<connectionStrings>
<add name="BehaviourConnectionString"
connectionString="Data Source=.'SQLEXPRESS;Initial Catalog=BehaviourDB-ByConnectionString;Integrated Security=true"
providerName="System.Data.SqlClient"/>
.