मैं एक भ्रामक समस्या का सामना करना पड़ रहा है, जहां मेरे संपादित कार्रवाई परिणाम तरीकों में या बनाएँ, EF4 भीतरी बताने वाले संदेश के साथ एक DbEntityValidationException फेंक जाने वाली अधिकतम स्ट्रिंग लंबाई:इकाई की रूपरेखा मान्यता भ्रम - '128'
फ़ील्ड बॉडी को '128' की अधिकतम लंबाई के साथ स्ट्रिंग या सरणी प्रकार होना चाहिए।
प्रश्न में मॉडल इस तरह दिखता है:
[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; }
}
"द बॉडी" वास्तविक डेटाबेस में फ़ील्ड प्रकार पाठ की है, इसलिए वहाँ कोई स्पष्ट सीमा नहीं है। डेटा है कि मैं पोस्ट करने के लिए कोशिश कर रहा हूँ यह है:
[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");
}
और अंत में, विधि है कि वास्तव में घुरघुराना करता है:
<p> This is an example to confirm that new articles are looking right.</p> <p> <img alt="" src="http://www.google.co.nz/logos/2011/houdini11-sr.jpg" style="width: 160px; height: 56px; float: left;" /></p>
पद्धति संपादित करें का एक उदाहरण इस तरह दिखता है काम है:
public void Update(T Entity)
{
dbset.Attach(Entity);
db.Entry(Entity).State = System.Data.EntityState.Modified;
db.Commit();
}
मैं कोड में या डेटाबेस में कुछ भी नहीं देख सकता जो समस्या पैदा कर सकता है, तो मुझे और कहां देखना चाहिए?
जादू के अनुसार बदलें। वह समस्या थी। धन्यवाद। –
इसने मेरे लिए समस्या तय की, लेकिन हमारे मामले में यह कुछ तैनाती पर एक समस्या थी, न कि दूसरों को। ईएफ 4.1 डीएल के थोड़ा अलग संस्करण को तैनात किया गया था। – tpower
बढ़िया! तुमने मेरा दिन बना दिया। –