繁体   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