2016-11-11 2 views
0

Интересно, как я могу получить ИД для каждого ввода веса, который я делаю.Добавление значений в базу данных с автоматическим приращением Id

Консольное приложение работало нормально в первый раз, но оно не добавляет больше строк в таблицу.

Мой код консоли:

class Program 
{ 
    int weightInput = 0; 
    int calorieInput = 0; 

    private void addWeight() 
    { 
     Weight weight = new Weight(); 

     weight.date = DateTime.Today; 
     weight.kg = weightInput; 

     using (weighttrackerEntities context = new weighttrackerEntities()) 
     { 
      context.Weights.Add(weight); 
      context.SaveChanges(); 
     } 
    } 
} 

Мой Weight объект:

public partial class Weight 
{ 
    public int Id { get; set; } 
    public int kg { get; set; } 
    public System.DateTime date { get; set; } 
} 
+0

ли идентификатор в автоматический режим прирост в базе данных? Или вы делаете код сначала? Если по той или иной причине вы не хотите, чтобы это был первичный ключ/автоинкремент, вы можете выбрать '.max()' ID и увеличить его таким образом. – Santi

+0

У вас есть две проблемы! Добавление записей в таблицу отличается от того, что вы делаете свое автоматическое увеличение. Убедитесь, что сначала ваш код добавляет записи каждый раз, тогда автоинкремент, вероятно, будет работать правильно. – Stacked

ответ

0

Вы должны пометить идентификатор для автоматического приращения с использованием модели строитель

modelBuilder.Entity<Foo>() 
      .Property(f => f.Id) 
      .ValueGeneratedOnAdd(); 
Смежные вопросы