5
Ich bin neu in Entity Framework. Ich habe eine einfache Klasse:Entity Framework automatisch Primärschlüssel generieren
public class User
{
[System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string Email { get; set; }
public string UserName { get; set; }
public string Password { get; set; }
//public UserList Users { get; set; }
public User() { }
public User(int userId, string email, string username)
{
UserId = userId;
Email = email;
UserName = username;
}
}
Und meine Initializer Klasse:
public class UserDataInitializer : DropCreateDatabaseAlways<UserDataContext>
{
protected override void Seed(UserDataContext context)
{
var Users = new List<User> {
new User() {UserId=1, Email="[email protected]", UserName="a1", Password="123456"},
new User() {UserId=2, Email="[email protected]", UserName="a2", Password="123456"},
new User() {UserId=3, Email="[email protected]", UserName="a3", Password="123456"},
new User() {UserId=4, Email="[email protected]", UserName="a4", Password="123456"}}
Users.ForEach(i => context.Users.Add(i));
context.SaveChanges();
}
}
Angenommen, ich will mit Benutzer-ID = 100 neue Benutzer hinzuzufügen. Es wird automatisch UserId auf 5 ändern.
Wie kann ich diese Modifikation von EF deaktivieren? 'UserId' muss der Primärschlüssel sein und der Typ ist int.
Nutzung auf UserId' [System.ComponentModel.DataAnnotations. DatabaseGenerated (System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] '. –
@ M.Wiśnicki Danke! – HungCung