2016-12-22 11 views
5

मैं इकाई फ्रेमवर्क में नया हूं। ,इकाई फ्रेमवर्क ऑटो प्राथमिक कुंजी उत्पन्न करता है

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(); 


    } 
} 

मान लीजिए मैं UserId = 100 के साथ नए उपयोगकर्ता जोड़ना चाहते हैं:

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; 
    } 
} 

और मेरे प्रारंभकर्ता वर्ग: मैं एक साधारण वर्ग की है। यह उपयोगकर्ता आईडी को 5 से बदल देगा।

मैं ईएफ के इस संशोधन को कैसे अक्षम कर सकता हूं? 'UserId' प्राथमिक कुंजी होना चाहिए और इसका प्रकार int है।

डाटा एनोटेशन:

+2

का प्रयोग करें। DatabaseGenerated (System.ComponentModel.DataAnnotations.DatabaseGeneratedOption.None)] '। –

+0

@ एम। विष्णिकी धन्यवाद! – HungCung

उत्तर

7

आप को User कक्षा में अपनी विशेषता बदलना होगा

[System.ComponentModel.DataAnnotations.DatabaseGenerat‌​ed(System.ComponentM‌​odel.DataAnnotations‌​.DatabaseGeneratedOp‌​tion.None)] 
public int UserId { get; set; } 

या Fluent एपीआई:

पर UserId` [System.ComponentModel.DataAnnotations
modelBuilder.Entity<User>().Property(m => m.UserId) 
     .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None); 
संबंधित मुद्दे