gpt4 book ai didi

.net - Entity Framework 参数化/重载构造函数?

转载 作者:行者123 更新时间:2023-12-04 17:12:54 25 4
gpt4 key购买 nike

我见过类似的问题,但它们并不是我所指的(或者它们可能是但我不明白答案)

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

这不再起作用了吗?如果是这样,那么什么是实现这样的东西的好选择?

最佳答案

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

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

关于.net - Entity Framework 参数化/重载构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5342184/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com