如何为客户特定数据使用通用变量
Posted
技术标签:
【中文标题】如何为客户特定数据使用通用变量【英文标题】:How Do I Use Generic Variables for Customer Specific Data 【发布时间】:2017-05-25 21:22:27 【问题描述】:我创建了一个包含常用变量的通用 dll。我有用户定义的占位符字段,因此我们可以保存客户特定的数据。此 dll 将用于特定于客户端的应用程序。
如何将这些通用变量映射到相关的 sql 表字段,以便我们可以操作自定义数据库?我想避免编写自定义查询。
像 dapper 这样的 ORM 在这里有用吗?
编辑:根据 danihp 的回复,我已经开始研究实体框架的工作。看起来很有希望。我推断使用 Fluent API 我可以将此 dll 移植到独特的应用程序中并传递一个 db 对象(而不是我的类?)来执行业务逻辑。
Public Class Runs
Private _RunMailPeices As Dictionary(Of String, MailPiece) = New Dictionary(Of String, MailPiece)
Private _run As Integer
Private MailDate As DateTime
Public Property RunMailPeices As Dictionary(Of String, MailPiece)
Get
RunMailPeices = _RunMailPeices
End Get
Set(value As Dictionary(Of String, MailPiece))
_RunMailPeices = value
End Set
End Property
Public Property run As Integer
Get
run = _run
End Get
Set(value As Integer)
_run = value
End Set
End Property
End Class
还有:
Public Class MailPiece
Private _address1 As String = String.Empty
Private _address2 As String = String.Empty
Private _string1 As String = String.Empty
Private _string2 As String = String.Empty
Public Property Address1 As String
Get
Address1 = _address1
End Get
Set(value As String)
_address1 = value
End Set
End Property
Public Property Address2 As String
Get
Address2 = _address2
End Get
Set(value As String)
_address2 = value
End Set
End Property
Public Property String1 As String
Get
String1 = _string1
End Get
Set(value As String)
_string1 = value
End Set
End Property
Public Property String2 As String
Get
String2 = _string2
End Get
Set(value As String)
_string2 = value
End Set
End Property
End Class
【问题讨论】:
我猜你的意思不是 NET 泛型,因为这与它们无关。似乎它会导致将数据输入和输出用于 DB I/O 的 DLL 的工作量比它保存的工作量要多。 这就是我想要弄清楚的。如果我能做到这一点,我可以利用很多其他的内部 dll。 【参考方案1】:您正在寻找entity framework。您可以轻松地将您的类映射到表。它们之间只有 2 个相关的类。将这些类映射到具有实体框架的表非常容易。然后,您将避免编写查询,只需 LINQ 表达式和通过具有导航属性的表进行导航。
实体框架 (EF) 是一种对象关系映射器,它使 .NET 开发人员能够使用特定于域的对象来处理关系数据。它消除了开发人员通常需要编写的大部分数据访问代码的需要。
通常会创建一个数据访问层。 “Entity Framework is Microsoft’s recommended data access technology for new applications”
您的代码看起来很容易被 EF 处理,但如果不是,您可以编写新类来轻松持久化您的自定义类。
您可以在Entity Framework Fluent API with VB.NET通过示例 EF VB.NET 代码学习
【讨论】:
以上是关于如何为客户特定数据使用通用变量的主要内容,如果未能解决你的问题,请参考以下文章