无法使用EF6插入 Update

本文关键字:插入 Update EF6 | 更新日期: 2023-09-27 18:11:23

我正在创建一个ASP。Net MVC应用程序,我创建了一个新的控制台应用程序,这样我就可以向它传递一些参数,并在MVC应用程序中使用DataContext,这样我就不必不断地重复自己。

这是我使用的代码

using mySite.WebSite.DataModel;
namespace mySite.AvailabilityManager
{
class Program 
{
    public static List<DateTime>Availability = new List<DateTime>(); 
    static void Main(string[] args)
    {
        var startingDt = Convert.ToDateTime("04-09-2015 08:00:00");
        var endingDt = Convert.ToDateTime("04-09-2015 17:00:00");
        CreateAvailabilty(startingDt, endingDt);
        AddAvailabilityToDatabase();
    }
    public static void CreateAvailabilty(DateTime startingDt, DateTime endingDt)
    {
        var hoursDiff = endingDt.Subtract(startingDt);
        for (int i = 0; i < hoursDiff.Hours; i++)
        {
            Availability.Add(startingDt);
            startingDt = startingDt.AddHours(1);
        }
    }
    public static void AddAvailabilityToDatabase()
    {
        using (var db = new FitnessForAllContext())
        {
            foreach (var availableDate in Availability.Select(date => new AvailableDate {DateAvailable = date}))
            {
                db.AvailableDates.Add(availableDate);
                db.SaveChanges();
            }
        }

    }
}

当我到达db.AvailableDates.Add(..)时,我得到这个错误

在应用程序配置文件中找不到名为'MyDBContext'的连接字符串。

我的印象是,因为我使用的参考从我的MVC应用程序和连接字符串是在ASP。. Net MVC配置文件,这样我就不必在控制台应用程序的app.config文件中重复连接字符串。

那么,总结一下,

  1. 我有MVC项目参考在我的控制台应用程序
  2. 由于db.AvailableDates.Add(availableDate);
  3. 缺少连接字符串而失败
  4. mySite。网站组装被拉到我的bin调试文件夹

如果你能提供一些见解,我需要做什么,而不必不断地重复自己添加连接字符串,我打算使用这个,除非我真的要重复自己

无法使用EF6插入 Update

标准,连接字符串需要在启动项目的de配置文件中。在本例中是控制台应用程序。忽略所引用项目的配置

你可以有一个常量或嵌入资源或任何在你的EntityFramework项目中包含连接字符串。但我认为,这不是一个好的做法,每个正在执行的项目都应该有自己的配置。