Как вставить запись в SQL Server с помощью Entity Framework - PullRequest
0 голосов
/ 03 сентября 2018

Я пытаюсь вставить строку в таблицу, но она просто обновляет таблицу. Как вставить новую строку в таблицу с помощью Entity Framework?

public partial class Transformer_GSM
{
    public int id { get; set; }
    public double KW { get; set; }
}

Столбцы таблицы

[id] [int] IDENTITY(1,1) PRIMARY KEY,
[KW] [float] NOT NULL

Название таблицы: Transformer_GSM

В контексте -

 public DbSet<Transformer_GSM> Transformer_GSM { get; set; }

Код:

public IHttpActionResult GSM(double KW)
{
        try
        {
            using (smartpondEntities DB = new smartpondEntities())
            {
                DATA.Transformer_GSM  t = new Transformer_GSM();
                t.KW = KW;
                DB.Transformer_GSM.Add(t);
                DB.SaveChanges();
            }

            var response = new
            {
                Success = true,
                Message = "Transformer data saved",
            };

            return Ok(response);
}

1 Ответ

0 голосов
/ 04 сентября 2018

Полагаю, что поскольку PK является столбцом идентификаторов, вам нужно сообщить об этом EF, в противном случае он думает, что вы обновляете запись с ID = 0.

public partial class Transformer_GSM
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id { get; set; }
    public double KW { get; set; }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...