Я пытаюсь научить себя MVC3 и EF4, используя сначала код и генератор DbContext, так что извините, если это глупый вопрос.
В основном у меня есть класс пользователя и класс электронной почты; это потому, что я хочу, чтобы каждый пользователь мог иметь несколько адресов электронной почты. классы настроены так:
public class User
{
[Key]
public int Id { get; set; }
public string User_Name { get; set; }
public string Password { get; set; }
public string First_Name { get; set; }
public string Last_Name { get; set; }
public virtual ICollection<Email> Emails { get; set; }
}
public class Email
{
[Key]
public int Id { get; set; }
public string Address { get; set; }
public User User { get; set; }
}
Я с радостью управляю пользовательским классом с помощью методов CRUD, собранных MVC3, и вставляю пользователей программно, чтобы «заполнить» базу данных тестовыми данными, последнее, что я делаю так, переопределяя метод Seed
в DropCreateDatabaseAlways
класс вроде так:
public class dbInitializer : DropCreateDatabaseAlways<UserContext>
{
protected override void Seed(UserContext context)
{
var Users = new List<User>
{
new User { User_Name = "uname",
Password = "pword",
First_Name = "fname",
Last_Name = "sname",
}
};
Users.ForEach(u => context.Users.Add(u));
}
}
Теперь я также хотел бы добавить адреса электронной почты, и из-за того, как я настроил код своих классов, сначала очевидно, что у каждого пользователя может быть несколько адресов электронной почты, и каждый адрес электронной почты может принадлежать только одному пользователю, потому что при создании Для нового пользователя или объекта электронной почты intellisense (VS10) предоставляет мне свойства Emails
и User
, которые на самом деле не являются частью какого-либо класса.
У меня такой вопрос: как добавить адрес электронной почты пользователю, как он был создан, и как добавить адрес электронной почты пользователю, который был создан ранее?