从MVC Controller添加到现有数据库实例

时间:2013-12-05 14:24:17

标签: c# asp.net asp.net-mvc-4 dbcontext

        Private BookingDB db = new BookingDB();
        Private MonthDb mdb = new MonthDB();

        if (ModelState.IsValid)
        {
            String date = (booking.Start_Date).ToString();

            var check = from b in mdb.months
                        where b.BookedDays.Contains(date)
                        select b;

            if (check != null)
            {
                return View(booking);
            }
            else
            {
                booking.Reservation_Owner = User.Identity.Name;

                //Add booking.Start_Date to mdb.Entry(check).BookedDays

                mdb.SaveChanges();
                db.bookings.Add(booking);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
        }

我已经获得了这个代码,在创建新预订时,将检查在特定日期或周围没有现有的预订。 如果要预订的日期尚未预订(即存在于mdb.months中的BookedDays下),那么我希望将预订的Start_Date添加到mdb.months数据库中的BookedDays字符串(mdb.month数据库只是一个12个月的清单)

起初我尝试使用mdb.Entry()添加到特定的月份实例,但是我无法让它工作。

错误是:

  

该模型没有BookedDays的定义

怎么办?

1 个答案:

答案 0 :(得分:0)

您检查检查是否为空

if (check != null)
{
     return View(booking);
}
else
{

然后再使用支票:

check.BookedDays

check为null,因此不包含任何BookedDays。我猜你的空检查是错误的,应该是

if (check == null)
{
     return View(booking);
}
else
{

那说你的问题没有得到很好的解释,所以我不确定。