【发布时间】:2010-11-22 21:52:53
【问题描述】:
我正在尝试使用数据注释来使用部分类验证我的实体框架模型。
我在这个article (MSDN) 中被告知,分部类应该与数据模型在同一个命名空间中。我的数据模型位于 EntityFrameworkDataProvider 中,因此位于 MyApp.Backend.Models 中的部分类如下所示:
using System.ComponentModel.DataAnnotations;
namespace EntityFrameworkDataProvider
{
[MetadataType(typeof(ItemMetaData))]
public partial class Item { }
public class ItemMetaData
{
[ScaffoldColumn(false)]
public object CreateDate { get; set; }
[Required]
public string DisplayName { get; set; }
[Required]
public string Description { get; set; }
}
}
我像这样在我的控制器类中验证模型:
[HttpPost]
public ViewResult Edit(Item item)
{
if (!TryUpdateModel(item))
{
return View(item);
}
return View("Details", item);
}
它编译没有错误。然而,当我试图编辑一个项目时,我得到了这个错误:
编译器错误消息:CS0433:“long-path.DLL”和“long-path.DLL”中都存在“EntityFrameworkDataProvider.Item”类型
我猜 Item 类被编译了两次或什么的。应该如何防止这个错误?
【问题讨论】:
标签: .net asp.net asp.net-mvc entity-framework asp.net-mvc-3