Я читал различные посты в блоге о том, как бороться со сложным типом в EF, включая пост Брэда Уилсона, на который большинство, похоже, ссылаются.Я действительно не понимаю.Я использую код EF первой разработки, MVC и VB.Из того, что я прочитал до сих пор, для отображения поля редактора для сложных типов требуется пользовательский объект, верно?Однако я не совсем понимаю, какой код мне нужно вставить в пользовательский шаблон.Может ли кто-нибудь объяснить мне, какой код должен входить в пользовательский шаблон, чтобы я мог отобразить текстовое поле для коллекции PostTags?
Мои классы:
Public Class Post
Inherits EntityBase
<Key()> Property PostId As Integer
<DisplayName("Title")> <Required()> Property PostTitle As String
<UIHint("MultilineText")> <DisplayName("Text")> Property PostText As String
ReadOnly Property PostExcerpt As String
Get
If PostText.Length > 100 Then
Return Helpers.TruncateHelper.TruncateAtWord(PostText, 250)
Else : Return PostText
End If
End Get
End Property
<ScaffoldColumn(False)> Property PostDateCreated As DateTime
<ScaffoldColumn(False)> Property PostDateModified As DateTime?
<ScaffoldColumn(False)> Property PostDatePublished As DateTime?
<DisplayName("Publish?")> Property PostIsPublished As Boolean
<DisplayName("Allow Comments?")> Property CommentsAllowed As Boolean
<ScaffoldColumn(False)> Property CategoryId As Integer?
<UIHint("Text")> <DisplayName("Category")> <Required()> Property PostCategory As String
Property Comments As IList(Of Comment)
'Post has collection of Tags
<DisplayName("Tags (comma separated)")> Overridable Property PostTags As ICollection(Of Tag)
End Class
Public Class Tag
Dim _rdsqlconn As RDSQLConn
<Key()> Property TagId As Int32
Property PostId As Int32
Property TagWord As String
'Overridable property to access Post
Overridable Property Post As Post
End Class