Почему класс, который наследуется от другого класса, который используется в структуре кода первого объекта, влияет на модель - PullRequest
0 голосов
/ 30 июня 2019

У меня есть код-модель проекта.

Мои классы определены так:

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>

к свойствам, но, возможно, есть более элегантное решение.

Итак, я хочу создавать унаследованные классы без влияния на мою текущую модель.

Как мне этого добиться?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...