Sql 类辅助函数替代

Sql 类辅助函数替代,sql,.net,vb.net,Sql,.net,Vb.net,作业表 作业ID(整数,自动编号), 姓名(varchar), Foreman(int)–包含员工表中的EmpID 员工表 EmpID(整数,自动编号), 名字(varchar), 姓氏(varchar), 使用VB.NET My Job类具有Jobs表中所有列的属性以及从sql数据库加载这些列并将其持久化到数据库的方法 然而,当我实例化一个作业对象时,我希望它有一个只读的foreman name属性,但我不知道如何使用OOP正确地做到这一点。我目前依赖于共享助手函数。看来一定有更好的办法

作业表 作业ID(整数,自动编号), 姓名(varchar), Foreman(int)–包含员工表中的EmpID

员工表 EmpID(整数,自动编号), 名字(varchar), 姓氏(varchar),

使用VB.NET

My Job类具有Jobs表中所有列的属性以及从sql数据库加载这些列并将其持久化到数据库的方法

然而,当我实例化一个作业对象时,我希望它有一个只读的foreman name属性,但我不知道如何使用OOP正确地做到这一点。我目前依赖于共享助手函数。看来一定有更好的办法


有人能给我指出正确的方向吗?

我想你可以这样做:

[NotMapped]
public virtual Employee ForemanDetail
{
    get
    {
        return Enumeration.FromValue<Employee>(Foreman);
    }
    private set {}
}
[未映射]
公共虚拟员工头条
{
收到
{
返回枚举.FromValue(Foreman);
}
私有集{}
}

这不会设置工头的姓名,但会让您根据需要访问详细信息。语法可能有点错误,但至少应该是正确的方向。

我最终对我的FWO类进行了子分类,并在那里添加了额外的属性。 此示例涉及当FWO表仅包含员工行ID值时,将foreman name属性与现场工单(FWO)关联。基本上和我第一个问题中的工头问题一样

Imports System.Data.SqlClient

Public Class FWOWrk
    Inherits FWO

    Private mForemanName As String

    ReadOnly Property ForemanName() As String
        Get
            Return mForemanName
        End Get
    End Property

    Public Sub New(sConnStr As String, FWOID As Int32)
        ' Constructor

        ' Call FWO.New
        MyBase.New()
        MyBase.ConnectString = sConnStr

        MyBase.GetByID(FWOID)

        ' Get employee info for foreman.
        GetForeman()

    End Sub

    Private Sub GetForeman()
        ' Get the foreman and load the mForeman name property.
        Dim oEmp As New Emp
        oEmp.ConnectString = MyBase.ConnectString
        oEmp.GetByPKey(MyBase.Co, MyBase.Foreman)
        mForemanName = oEmp.FirstName & " " & oEmp.LastName

        oEmp = Nothing

    End Sub

End Class