我正在创建一个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(..)
时,我收到此错误
没有名为&#39; MyDBContext&#39;的连接字符串可以在应用程序配置文件中找到。
我的印象是,因为我正在使用来自我的MVC应用程序的引用,并且连接字符串位于ASP.Net MVC配置文件中,我不必在app.config文件中重复连接字符串控制台应用。
所以,总结一下,
db.AvailableDates.Add(availableDate);
如果你能提供一些关于我需要做什么的见解,而不必通过在我打算使用它的地方添加连接字符串来不断重复自己,除非我真的要重复自己
答案 0 :(得分:2)
标准,连接字符串需要在启动项目的de config文件中。在这种控制台应用程序的情况下。引用项目的配置将被忽略。
答案 1 :(得分:1)
您可以在EntityFramework项目中包含常量或嵌入资源或任何包含连接字符串的内容。但我认为,这不是一个好的做法,每个执行项目都应该有自己的配置。