【问题标题】:when I add record data, default value from sql server not added.. ASP.NET MVC 4当我添加记录数据时,未添加来自 sql server 的默认值.. ASP.NET MVC 4
【发布时间】:2017-11-27 14:32:38
【问题描述】:

我有问题,我想向数据库中添加记录,并且 1 行有来自 sql server 的默认值,当我添加记录数据时,默认值为 null,我该如何解决这个问题

这是我的模型

CREATE TABLE [dbo].[informasi] (
[id]       INT            IDENTITY (1, 1) NOT NULL,
[nama]     VARCHAR (50)   NULL,
[alamat]   VARCHAR (50)   NULL,
[belajar]  NVARCHAR (MAX) DEFAULT ('aktif') NULL,
CONSTRAINT [PK_informasi] PRIMARY KEY CLUSTERED ([id] ASC)
);

这是我的添加视图

@model CRUD2.ViewModel.CostVM
@using (Html.BeginForm())

{
    <div class="container">
        <div class="form-group">
            <label>Nama:</label>
            <input class="form-control" name="nama" placeholder="Enter Name" required/>
        </div>
        <div class="form-group">
            <label>Alamat:</label>
            <input class="form-control" name="alamat" placeholder="Enter Password" required/>
        </div>

        <div class="button">
        <button>Submit</button>
        </div>
    </div>
}

这是我的控制器,

[HttpPost]
    public ActionResult SetDataInDataBase(CostVM model)
    {

        informasi item = new informasi();
        item.nama = model.nama;
        item.alamat = model.alamat;

        db.informasis.Add(item);
        db.SaveChanges();
        return RedirectToAction("Edit", "Register", new { id = item.id, id2 = item2.Id });

    }

我想如果我添加一条记录,填写表格namaalamat,在数据库中的那一行belajar 之后将填充默认值aktif。 这只是一个简单的形式,所以我先学习 1 个默认值..

【问题讨论】:

  • 如果我在控制器中添加一个值可能会起作用,但我需要添加没有那个,我想在 sql server 中添加具有默认值的 atuomatcili,这是不可能的吗? @AshleyMedway

标签: c# asp.net sql-server asp.net-mvc


【解决方案1】:

实体框架不从 SQL 读取默认值。

您需要在模型中添加默认值,可能如下所示:

public class informasi
{
    public string belajar { get; set; } = "aktif";
}

或者正如您在 cmets 中提到的,您可以在控制器中执行此操作。

informasi item = new informasi();
item.belajar = "aktif";
item.nama = model.nama;
item.alamat = model.alamat;

db.informasis.Add(item);
db.SaveChanges();

【讨论】:

  • 如果我有 20 个查询使用默认值。有没有一种快速的方法来填充具有相同值的查询? @AshleyMedway
  • @Kuujoe36 并非如此,当使用实体框架时,您不应该真正编辑数据库,您应该在模型中进行所有更改。因此,如果您有默认值,则应在模型中设置所有值,如示例 1 所示。
猜你喜欢
  • 2021-02-18
  • 2018-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
相关资源
最近更新 更多