asp.net(实体框架rowk)向数据库添加数据

问题描述 投票:0回答:1

我在向数据库发送数据时遇到问题。在数据库中,我已经生成了 CarModels 表,但它没有保存我想要添加的 6 辆汽车(记录)。有人可以解释一下为什么吗?我希望数据像下面一样进行硬编码,并从后端添加到数据库中。

    [HttpPost]
    public IActionResult Post([FromBody] CarModel model)
    {
        _context.CarModels.AddRange(
            [
             new CarModel { CarName = "Model 3", CarImage = "https://digitalassets-secure.tesla.com/image/upload/v1693299003/y3owuyq6ex5uqtygbhm8.jpg", CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 1000 },
                new CarModel { CarName = "Tesla Model X", CarImage = "https://images.prismic.io/carwow/c340a77d-af56-4562-abfb-bd5518ccb292_2023+Tesla+Model+X+front+quarter+moving.jpg",CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 1500 },
                new CarModel { CarName = "Tesla Model Y", CarImage = "https://ocdn.eu/pulscms-transforms/1/lF0k9kpTURBXy8wNWZiN2YzZDFhNDZkMTg5NmFkNDI2ZGI4MGQ1NGQ5Yi5qcGeSlQPNBabNA6zNGfjNDp-TBc0EsM0CpN4AAqEwBaExAA", CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 1200},
                new CarModel { CarName = "Model S", CarImage = "https://i.wpimg.pl/1280x/m.autokult.pl/tesla-model-s-2017-1280--e0d200f.jpg", CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 2000 },
               new CarModel { CarName = "Cybertruck", CarImage = "https://elektrowoz.pl/wp-content/uploads/2023/09/Cybertruck-Tesla.jpg", CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 2500 },
               new CarModel { CarName = "Tesla Roadster", CarImage = "https://lh3.googleusercontent.com/proxy/hJs1tVGN93rfuFQ31LHu8CAex-Dffaauhoa-yg6c5U74KWl6Mh1Byzkx04-cS_T4WmGYJ0Lo4N4j95h3OcqJ0mPUpRaPVl44AW1xj26YJMkW5dMa7X_R8VtLmODP8Ho0YxpMik5LI2U", CarLocation =  ["Palma Airport", "Palma City Center", "Alcudia", "Manacor" ], CarPrice = 3000 },
         ]);

        _context.CarModels.Add(model);
        _context.SaveChanges();
        return Ok();
    }

汽车模型文件

namespace FullStackApp.Server.Models
{
    public class CarModel
    {
        public int Id { get; set; }

        public required string CarImage { get; set; }

        public required string CarName { get; set; }

        public required int CarPrice { get; set; }

        public required List<string> CarLocation { get; set; }

    }
}
c# sql asp.net sql-server entity-framework
1个回答
0
投票

如果不显示您的错误或数据模型,就很难回答,所以我将给出一些一般准则。

使用此代码,每次调用该方法时,它将尝试添加这些记录。如果您对例如 CarName 有唯一约束,则第一次调用后它将失败。但即使它有效,我怀疑你是否希望每次都添加这些记录。

对于您的用例,您似乎正在寻找数据库种子(https://learn.microsoft.com/en-us/ef/core/modeling/data-seeding)。这样您就可以在开始时添加这些记录。请务必检查一下它们是否已经填满,这样就不会出现重复。

© www.soinside.com 2019 - 2024. All rights reserved.