簡體   English   中英

如何使用實體框架將記錄插入 SQL Server

[英]How to insert record into SQL Server using 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);
}

我的猜測是,由於 PK 是一個標識列,您需要告訴 EF,否則它認為您正在更新 ID = 0 的記錄。

public partial class Transformer_GSM
{
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public int id { get; set; }
    public double KW { get; set; }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM