加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

.net – 实体框架参数化/重载构造函数?

发布时间:2020-12-17 00:07:56 所属栏目:大数据 来源:网络整理
导读:我已经看过类似的问题,但它们并不是我所指的(或者它们是,我不明白答案) 在我之前使用Linq2SQL的应用程序中,我能够通过这样做来重载带有参数的构造函数: Namespace CoreDb Partial Public Class Accomplishment Public Sub New(ByVal accomplishmentTypeID A
我已经看过类似的问题,但它们并不是我所指的(或者它们是,我不明白答案)

在我之前使用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,因为没有默认构造函数可以调用.

这不再有效吗?如果是这样,那么实现这样的东西有什么好办法呢?

没有生成任何默认构造函数,但这并不意味着它没有.但是当您在没有显式设置无参数构造函数的类中定义带参数的构造函数时,它将隐藏默认构造函数.

所以在你的部分类中你只需要定义一个无参数的构造函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读