这是一个与技术无关的设计问题。 标题可能不太完美,请随意编辑。
我有以下需求: 我想从表格中保存特定工作实体(不要与SQL Server作业混淆)的资格要求到SQL Server 2012中。 为此,我有另一个表,称为“资格要求”,它将上述资格要求保存在具有参考完整性的工作表中。 制作此存储过程的参数为JobID和用户定义的模式表类型。
CREATE TYPE [dbo].[TableTypeQualificationJob] AS TABLE(
[QualificationID] [int] NULL,
[QualificationCriteria] [nvarchar](4000) NULL,
[OptionTo] [bigint] NULL
)
GO
我在业务层有对应的实体。 当用户为工作创建多个资格时,他将列表传递给函数,底层方法将列表转换为数据表,并使用存储过程添加到数据库中。
问题在于资格可以是OR或AND。 例如,如果有5个资格,如 qualification1 qualification2 qualification3 qualification4 qualification5
并且强制应用于工作,
qualification1 OR qualification2 OR qualification3 AND qualification4 AND qualification5
所以它使三个组
(qualification1 OR qualification2 OR qualification3) AND (qualification4) AND (qualification5)
那么我该如何在QualificationEntity类和Database中解释它呢? 我正在使用ADO.NET调用SP,通过手动将列表转换为用户定义的表类型的DataTable,如何实现它?