У меня есть код-модель проекта.
Мои классы определены так:
Public Class BaseEntity
<Key, Column(Order:=1)>
Public Overridable Property Id As Long = -1
<Column(Order:=95)>
Public Property FueEliminado As Boolean = False
<Column(Order:=96)>
Public Property FechaCrea As DateTime
<Column(Order:=97)>
<StringLength(UserNameLength, ErrorMessage:=ErrorMessageStringLength), Required>
Public Property UsuarioCrea As String
<Column(Order:=98)>
Public Property FechaModifica As Nullable(Of DateTime)
<Column(Order:=99)>
<StringLength(UserNameLength, ErrorMessage:=ErrorMessageStringLength)>
Public Property UsuarioModifica As String
End Class
Тогда у меня есть другой класс, который наследуется от BaseEntity
:
Public Class SharedEntity
Inherits BaseEntity
<Column(Order:=2)>
Public Property IdEmpresa As Long = 0
End Class
Тогда у меня есть другой класс, который наследуется от SharedEntity
:
Public Class ReciboDeDonacion
Inherits SharedEntity
<Column(Order:=3)>
Public Property IdAfiliado As Long
<Column(Order:=4)>
Public Property IdFormaDePago As Long
<Column(Order:=5)>
Public Property Fecha As DateTime
<Column(Order:=6)>
Public Property Serie As String
<Column(Order:=7)>
Public Property Numero As Long
End Class
Итак, по моему DbContext
у меня есть:
Public Class SinergiaContext
Inherits DbContext
Public Property ReciboDeDonacion As DbSet(Of ReciboDeDonacion)
End Class
Моя модель базы данных создана следующим образом:
https://imgur.com/gallery/ZTzDbCq
Когда я пытаюсь добавить новый класс, который наследуется от ReciboDeDonacion
, EF автоматически добавляет новые поля в мою модель.
Public Class ReciboDeDonacionUnbound
Inherits ReciboDeDonacion
Public Property IdTemp as string
End Class
https://imgur.com/eNEbXVX
Я думаю, что решение было бы добавить:
<NotMapped>
к свойствам, но, возможно, есть более элегантное решение.
Итак, я хочу создавать унаследованные классы без влияния на мою текущую модель.
Как мне этого добиться?
Спасибо.