2011-06-14 64 views
2

这是我的控制器类。'WareHouse'上的'ModifiedOn'属性不能设置为'DateTime'值。您必须将此属性设置为'String'类型的非空值。

namespace CalcoWOMS.Controllers 
{ 
    public class AdminController : Controller 
    { 
     private WOMSEntities db = new WOMSEntities(); 

     public ViewResult WareHouseIndex() 
     { 
      return View(db.WareHouse.ToList()); 
     } 



     public ViewResult WareHouseDetails(int id) 
     { 
      WareHouse wareHouse = db.WareHouse.Single(m => m.ID == id); 
      return View(wareHouse); 
     } 

     public ActionResult WareHouseCreate() 
     { 
      return View(); 
     } 


     [HttpPost] 
     public ActionResult Create(WareHouse wareHouse) 
     { 
      if (ModelState.IsValid) 
      { 
       db.WareHouse.AddObject(wareHouse); 
       db.SaveChanges(); 
       return RedirectToAction("WareHouseIndex"); 
      } 

      return View(wareHouse); 
     } 

     // 
     // GET: /Admin/Edit/5 

     public ActionResult WareHouseEdit(int id) 
     { 
      WareHouse wareHouse = db.WareHouse.Single(m => m.ID == id); 
      return View(wareHouse); 
     } 



     [HttpPost] 
     public ActionResult WareHouseEdit(WareHouse wareHouse) 
     { 
      if (ModelState.IsValid) 
      { 
       db.WareHouse.Attach(wareHouse); 
       db.ObjectStateManager.ChangeObjectState(wareHouse, EntityState.Modified); 
       db.SaveChanges(); 
       return RedirectToAction("WareHouseIndex"); 
      } 
      return View(wareHouse); 
     } 

     // 
     // GET: /Admin/Delete/5 

     public ActionResult WareHouseDelete(int id) 
     { 
      WareHouse wareHouse = db.WareHouse.Single(m => m.ID == id); 
      return View(wareHouse); 
     } 


     [HttpPost, ActionName("WareHouseDelete")] 
     public ActionResult WareHouseDeleteConfirmed(int id) 
     { 
      WareHouse wareHouse = db.WareHouse.Single(m => m.ID == id); 
      db.WareHouse.DeleteObject(wareHouse); 
      db.SaveChanges(); 
      return RedirectToAction("WareHouseIndex"); 
     } 
    } 
} 

,这是我的表设计..

this is image of my table design

每当我要运行“管理/ WareHouseIndex”行动有发生一个问题是 “上“的‘ModifiedOn’属性WareHouse'无法设置为'DateTime'值,您必须将此属性设置为'String'类型的非空值。

即使我在modifiedOn字段中没有空条目。请检查并告诉我我做了什么错误。

+0

什么类型的异常这是什么?您的WareHouse.ModifiedOn属性的类型是什么?它是如何归因的?它如何映射到数据库? – 2011-06-14 09:04:20

+0

您可以显示WareHouse类的代码,特别是构造函数吗?我假设你正在使用实体框架? – 37Stars 2011-06-30 04:34:41

回答

0

您的Database Type和您的POCO Type之间可能有该属性的不匹配类型。如果我猜我会说你的属性类型是String或一个非空的日期时间,它应该是一个可空DateTime,即:

public DateTime? ModifiedOn { get; set; } 
相关问题