簡體   English   中英

如何使用代碼優先實體框架設置默認日期

[英]How do I set a default date using code first entity framework

我正在嘗試使用帶有代碼優先方法的Entity Framework為最后一個日期(DateAdded)屬性設置默認值。 這是我的代碼:

namespace BackOffice.Models
{
    public class UsersContext : DbContext
    {
        public UsersContext()
            //: base("DefaultConnection")
            : base("ProofPixDB")
        {
        }

        public DbSet<UserProfile> UserProfiles { get; set; }
    }

    [Table("UserProfile")]
    public class UserProfile
    {
        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int UserId { get; set; }
        public string UserName { get; set; }


        //public DateTime DOB { get; set; }
        [DataType(DataType.Date)]
        public DateTime? DOB { get; set; } //This allows null

        [Required]
        [DataType(DataType.Date)]
        public DateTime DateAdded { get; set; }

    }
}

您可以在構造函數中進行設置:

public class UserProfile()
{
   DateAdded = DateTime.Now;
}

我以前在以下鏈接中處理過此問題:

設置默認值

基本上使用帶有反射的“工廠”。

我最終將其設置為回發,如下所示:

// POST: /Account/Register

    [HttpPost]
    [AllowAnonymous]
    [ValidateAntiForgeryToken]
    public ActionResult Register(RegisterModel model)
    {
        if (ModelState.IsValid)
        {
            // Attempt to register the user
            try
            {
                DateTime rightNow = DateTime.Now;

                //WebSecurity.CreateUserAndAccount(model.UserName, model.Password); //too limited used CreateUserAndAccount method below
                var extendedUserProperties = new { SubscriberId = subscriber.SubscriberId, Email = model.Email, DateAdded = rightNow };
                WebSecurity.CreateUserAndAccount(model.UserName, model.Password, extendedUserProperties);
                Roles.AddUserToRole(model.UserName, Request.Form["RoleName"]);
                WebSecurity.Login(model.UserName, model.Password);

                return RedirectToAction("Index", "Home");
            }
            catch (MembershipCreateUserException e)
            {
                ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
            }
        }

        // If we got this far, something failed, redisplay form
        return View(model);
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM