Frage

I have a model with a property called "datetime_inclusion" and I need to set a value for this ONLY when I save the first time, there is a way to do this treatment in the model? I use C# MVC5 and entity framework 5

War es hilfreich?

Lösung

When you save the first time your object won't have an ID until it gets put into the DB. You can check against this to set your value.

if(myEntity.ObjectID <= 0)
{
    myEntity.DateAdded = DateTime.Now;
}

Andere Tipps

Shoe's answer is perfect. But if you are worry that property can be change in edit time, control that. In create action use Shoe's code and in Edit action use:

[HttpPost] 
public ActionResult Edit(int id, Model model) 
{ 
     using (var db = new YourEntities()) 
     { 
         //control that, it does not change
         model.datetime_inclusion = db.YourTable.Find(id).datetime_inclusion;

         db.Entry(model).State = System.Data.EntityState.Modified; 
         db.SaveChanges(); 
         return RedirectToAction("Index"); 
     } 
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top