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

标签 .net vb.net entity-framework entity-framework-4 constructor

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

在我之前使用 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/

相关文章:

c# - EF4.1 - Fluent API - SqlQuery - 调用存储过程时的配置映射 - 数据读取器与指定的实体类型不兼容

c# - 等于方法实现助手 (C#)

asp.net - 在 ASP.NET 网站中锁定车队

mysql - VB.NET mysqldump 导出时出现两个条件错误

c# - 仅在 VB 中的 .NET 集合

unit-testing - Microsoft 的 Entity Framework 如何抑制测试驱动开发?

.net - 如何使用 Entity Framework 实现 table-per-concrete-type 策略

javascript - React+Redux 中数据更改时更新状态

c# - 按字母顺序和类型对列表进行排序

.net - 如何创建GUID?