Когда автоматически создается сгенерированное свойство Entity Framework - PullRequest
1 голос
/ 21 февраля 2012

Считайте, что у меня есть следующие классы:

class User
{
   [Key]
   public Guid Id {get; set;}

   public string UserName {get; set;}
}

class MyUsersContext: DbContext
{
   DbSet<User> Users {get; set;}
}

class MyRepository
{
   MyUsersContext _db; //INJECTED

   User AddUser(string userName)
   {
      var newBorn = new User() { UserName = userName };

      _db.Users.Add(newBorn);

      return newBorn;
   }

}

class MyMemProvider: MembershipProvider
{
   MyRepository repo; //INJECTED

   public override MembershipUser CreateUser(string username...
   {
      var ret = repo.AddUser(username);
      return new MembershipUser(System.Web.Security.Membership.Provider.Name, ret.UserName...
   }

}

Это урезанная версия моего пользовательского провайдера членства для сайта ASP.NET MVC3. В какой момент User.Id заполняется фактическим Guid в этом сценарии?

1 Ответ

0 голосов
/ 21 февраля 2012

Вы должны применить DatabaseGeneratedOption к своему атрибуту Id.

class User
{
   [Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
   public Guid Id {get; set;}

   public string UserName {get; set;}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...