在实体数据模型中,我有以下复杂类型
<EdmComplexTypeAttribute(NamespaceName:="MEMORABLEModel", Name:="EDMspGetContact_Result")>
<DataContractAttribute(IsReference:=True)>
<Serializable()>
Partial Public Class EDMspGetContact_Result
Inherits ComplexObject
#Region "Factory Method"
.... etc
我正在用 VB.Net 编写MVC 4.0应用程序
我想向解决方案中另一个项目中的复杂类型定义添加验证
我试图在我的 MVC 项目中定义一个分部类,但即使它编译了,我也知道它以某种方式是错误的因为基架模板不会生成所有属性
在过去的 6 个月里,我已经从传统编码转向面向对象编码,我真的很难克服这样的问题。 感谢引导我出错的地方。我尝试添加命名空间。
<MetadataType(GetType(EDMspGetContact_ResultMD))> _
<ScaffoldTable(True)> _
Partial Public Class EDMspGetContact_Result
' Note this class has nothing in it. It's just here to add the class-level attribute.
End Class
Public Class EDMspGetContact_ResultMD
' ' Name the field the same as EF named the property - "FirstName" for example.
' ' Also, the type needs to match. Basically just redeclare it.
' ' Note that this is a field. I think it can be a property too, but fields definitely should work.
<Required()> _
<Display(name:="Last Name")> _
Public LastName As String
End Class
EF 生成的模型类是上述哪个类定义?如果它是最后一个,则也需要将其标记为 Partial ,以便分部类中定义的扩展成员成为同一类的一部分。这可能意味着更改 EF 用于生成模型类的 T4 模板。
这是假设您首先使用数据库或模型。如果你首先使用代码,我想你只需要让你的主模型类部分化。