【问题标题】:Simple form collection using Asp.Net c# - entityframe work使用 Asp.Net c# 的简单表单集合 - entityframe 工作
【发布时间】:2014-03-26 15:11:20
【问题描述】:

我有一个带有 3 个文本框和一个按钮的简单表单。我要做的就是将表单中的数据发送到我的数据库。在我的数据库中,我有一个名为 contacts 的表,其中包含三列(ID-Primary Key、fname、lname、phone)我创建了一个 Ado.net 实体框架模型并将其命名为 Contacts。

这是我目前得到的代码:

  protected void Button1_Click(object sender, EventArgs e)
{
    Contact con = new Contact();
    con.fname = TextBox1.Text;
    con.sname = TextBox2.Text;
    con.phone = TextBox3.ToString();

    ContactDb db = new ContactDb();
    db.Contacts.Add(con);
    db.SaveChanges();
}

当我单击确定时,出现此错误:一个或多个实体的验证失败。有关详细信息,请参阅“EntityValidationErrors”属性。

【问题讨论】:

    标签: c# asp.net forms entity-framework


    【解决方案1】:

    EntityValidationErrors 通常发生在我们为必填字段传递 NULL 值时。

    尝试将主键 ID 值传递为 0 并检查。

    您还可以使用此 catch 语句检查哪个字段导致问题,

    在这篇文章中参考 Richard 的回答。 EF Code First: How do I see 'EntityValidationErrors' property from the nuget package console?

    【讨论】:

      【解决方案2】:

      我猜con.phone = TextBox3.ToString(); 应该是TextBox3.Text;

      您的 ContactDb 课程可能有一些验证属性,可能也值得发布给我们查看。

      【讨论】:

      • 如何检查验证是否已被归因?谢谢丹
      • 哎呀,意思是属性S。找到 ContactDb 的类实现并用它更新您的帖子。如果它很大,只需包含 fnamesnamephone 属性的实现即可。
      猜你喜欢
      • 2017-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多