繁体   English   中英

无法使用EF6插入\\更新

[英]Unable to Insert \ Update using EF6

我正在创建一个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);缺少连接字符串,因此失败db.AvailableDates.Add(availableDate);
  3. mySite.Website程序集将被拉入我的bin调试文件夹

如果你可以提供一些关于我需要做什么的见解,而不必通过在我打算使用它的地方添加连接字符串来不断重复自己,除非我真的不得不重复自己

标准,连接字符串需要在启动项目的de config文件中。 在这种控制台应用程序的情况下。 引用项目的配置将被忽略。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM