我已经盯着这个很久了,看不到问题所在。
我使用 EF4 和 POCO 生成器生成了一些 POCO 类。
我正在尝试使用 MetadataType 属性来创建可以在我的视图(asp.net MVC)中使用的“伙伴”类并利用数据注释。
因此,我有一个名为 Contact 的域实体 (POCO)。那是在命名空间 BreakAwayEntities 中名为 BreakAwayEntities 的项目中。
我在 View 的项目 (WebUI) 中创建了一个公共部分类。它是这个:
namespace BreakAwayEntities
{
[MetadataType(typeof(ContactMetadataSource))]
public partial class Contact
{
internal sealed class ContactMetadataSource
{
[HiddenInput(DisplayValue = false)]
public int ContactID { get; set; }
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
public string Title { get; set; }
}
}
}
但是,我收到以下错误消息:
错误 10 无法将类型“System.Collections.Generic.List [c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\mscorlib.dll]”隐式转换为“System.Collections.Generic。列表 [c:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\mscorlib.dll]' F:\Code\Sandpit\GetAwayBreaks\WebUI\Controllers\CustomerController.cs 29 38 WebUI
由于某种原因,接线不起作用。部分类的命名空间是相同的,但它们在不同的项目中。那应该没关系吧?在视图中使用的 Contact 类不会显示单个属性。它应该暴露 POCO 的所有属性,由 MetadataType 增强。
如果我错过了一个程序集,我不会得到任何关于它可能是什么的提示。
我错过了什么?我需要在 Global.asax 中注册一些东西吗?谢谢