one*_*ill 3 asp.net-mvc poco metadatatype data-annotations
我已经盯着这个很长一段时间了,看不出问题.
我使用EF4和POCO生成器生成了一些POCO类.
我正在尝试使用MetadataType属性来创建我可以在我的View(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; }
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我被处理以下错误消息:
错误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
由于某种原因,接线不起作用.部分类的名称空间是相同的,但它们位于不同的项目中.那应该没关系?在View中使用的Contact类不会显示单个属性.它应该暴露POCO的所有属性,由MetadataType增强.
如果我错过了一个集会,我没有得到任何关于它可能是什么的暗示.
我错过了什么?我需要在Global.asax中注册一些东西吗?谢谢
部分类只能存在于一个项目中.
http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.100).aspx
进一步来说,
必须在同一个程序集和相同的模块(.exe或.dll文件)中定义所有部分类型定义,即相同类型的部分.部分定义不能跨越多个模块.
| 归档时间: |
|
| 查看次数: |
2370 次 |
| 最近记录: |