Я видел похожие вопросы, но они не совсем те, на которые я ссылаюсь (или, может быть, они есть, и я не понимаю ответы)
В моем предыдущем приложении, использующем Linq2SQL, я смогперегружайте конструкторы параметрами, выполняя это:
Namespace CoreDb
Partial Public Class Accomplishment
Public Sub New(ByVal accomplishmentTypeID As Object, ByVal description As String, ByVal title As String, ByVal applicableDate As DateTime, ByVal lastUpdatedBy As String)
Me.New()
If TypeOf (accomplishmentTypeID) Is Guid Then
Me.AccomplishmentTypeId = accomplishmentTypeID
End If
If TypeOf (accomplishmentTypeID) Is String Then
Me.AccomplishmentTypeId = New Guid(accomplishmentTypeID.ToString())
End If
Me.Description = description
Me.ApplicableDate = applicableDate
Me.Title = title
Me.Id = Guid.NewGuid()
Me.DateCreated = DateTime.Now
Me.DateModified = DateTime.Now
Me.LastUpdatedBy = lastUpdatedBy
Me.CreatedBy = lastUpdatedBy
End Sub
End Class
End Namespace
В основном, используя частичный класс вне объекта, разделяя пространство имен файла .dbml и вызывая конструктор по умолчанию, а затем выполняя дополнительные действия.
Итак, в моем коде я мог бы сделать что-то вроде:
Dim accomplishment As New Accomplishment(id, description, title, applicableDate, lastUpdatedBy)
Это, похоже, больше не работает в Entity Framework, так как нет конструктора по умолчанию для вызова.
Это больше не работает?И если да, что является хорошей альтернативой для реализации чего-то подобного?