实体框架-获取'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和相关类的实例成员不能保证是线程安全的。

任何帮助,提示或提示将非常感激。:)

实体框架-获取'System.InvalidOperationException'当更改连接到数据库的连

SOLVED

在连接字符串中有一个错误,我忘记添加''SQLEXPRESS'

<connectionStrings>
<add name="BehaviourConnectionString"
connectionString="Data Source=.'SQLEXPRESS;Initial Catalog=BehaviourDB-ByConnectionString;Integrated Security=true"
providerName="System.Data.SqlClient"/>

.