实体框架 – 实体框架验证混淆 – 最大字符串长度为’128′
发布时间:2020-05-23 07:01:17 所属栏目:asp.Net 来源:互联网
导读:我面临一个令人困惑的问题,其中在我的编辑或创建操作结果方法,EF4将抛出一个DbEntityValidationException与内部消息说: The field Body must be a string or array type with a maximum length of ‘128’. 有问题的模型如下: [Table(tblArticles)]public
|
我面临一个令人困惑的问题,其中在我的编辑或创建操作结果方法,EF4将抛出一个DbEntityValidationException与内部消息说:
有问题的模型如下: [Table("tblArticles")]
public class Article
{
[Key]
public int ID { get; set; }
[Required(ErrorMessage="Title must be included")]
public string Title { get; set; }
[AllowHtml]
public string Body { get; set; }
[Required(ErrorMessage="Start Date must be specified")]
[Display(Name="Start Date")]
[DisplayFormat(DataFormatString="dd-mm-yyyy")]
public DateTime? StartDate { get; set; }
[Required(ErrorMessage = "End Date must be specified")]
[Display(Name = "End Date")]
public DateTime? EndDate { get; set; }
public int Priority { get; set; }
public bool Archived { get; set; }
public virtual ICollection<ArticleImage> Images { get; set; }
}
实际数据库中的“Body”字段是Text类型,因此没有明显的限制。我试图发布的数据是:
Edit方法的示例如下所示: [HttpPost]
public ActionResult Edit(Article article)
{
if (ModelState.IsValid)
{
try
{
articleRepository.Update(article);
}
catch (DbEntityValidationException dbevEx)
{
ErrorSignal.FromCurrentContext().Raise(dbevEx);
ModelState.AddModelError("FORM",dbevEx);
return View("Edit",article);
}
// Other exception handling happens...
}
return RedirectToAction("Index");
}
最后,实际上做咕噜工作的方法是: public void Update(T Entity)
{
dbset.Attach(Entity);
db.Entry(Entity).State = System.Data.EntityState.Modified;
db.Commit();
}
我在代码或数据库中看不到任何可能导致问题的东西,所以我应该在哪里看? 解决方法代码中的字符串字段的默认长度为128.如果使用EF验证,它将抛出异常。您可以使用以下方式扩展大小:[StringLength(Int32.MaxValue)]
public string Body { get; set; }
这篇文章变得多么流行,所以我添加第二种方法,也工作: [MaxLength]
public string Body { get; set; }
StringLengthAttribute来自System.ComponentModel.DataAnnotations程序集,MaxLengthAttribute来自EntityFramework程序集(EF 4.1)。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 最小和最大字符串长度的单独错误消息 –
- asp.net-mvc – 使用Ajax.BeginForm绑定HttpPostedFileBase
- asp.net-mvc – 更改项目URL Visual Studio
- asp.net-mvc – 用户不在角色时的ASP.NET登录重定向循环
- ASP.NET – 从内容页面访问主页面元素
- asp.net – 比HttpHandlers快的东西?
- asp.net – 什么时候不应该使用Web服务?
- asp.net-mvc – 如何在asp.net mvc中模拟缓存对象?
- 是否有任何asp.net数据缓存支持缓存条目的背景填充?
- asp.net-mvc – 将{sitename}参数传递给MVC控制器操作
推荐文章
站长推荐
- asp.net-mvc – PRG模式是否与AJAX表单帖子不兼容
- asp.net – 通过Ajax Post – MVC3更新模型更改视
- asp.net – 将数值强制为HTML表导出为excel的文本
- asp.net-mvc – Web API模型绑定器不能与HttpPos
- asp.net-core – 如何使.NET Core类库从.NET 4.6
- asp.net – 禁用web.config继承?
- asp.net-mvc – 在活动的SignalR连接期间更改用户
- asp.net – 可以通过VS2015在IIS中调试/运行aspn
- asp.net-mvc – 如何在ASP.NET MVC中使用编译的全
- asp.net-mvc – IIS 7上的ASP.net MVC返回空白页
热点阅读
