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