并列状态值和工作流状态值的位图处理思路
来源:互联网 发布:u盘恢复数据要多少钱 编辑:程序博客网 时间:2024/06/04 23:26
并列状态值和工作流状态值的位图处理思路
[C# code]
// 定义宏
public static int IS_DEL = 1;
public static int IS_SHOW = 2;
public static int IS_USING = 4;
public void Test()
{
// order是主表,orderc是order对应的代码表,使用位图的思路进行状态的过滤
var order = this.DbSession.TOrderDal.GetQueryable(x => true);
var orderc = this.DbSession.TOrderCodeDal.GetQueryable(x => true);
var rc = from o in order
join oc in orderc // 连代码表无非是要中文的值,真正的过滤只使用主表即可
on o.OStatus equals oc.OCID
select new {
o,
oc,
};
rc = rc.Where(x => (x.oc.OCID | TOrderService.IS_DEL) == TOrderService.IS_DEL);
var rc2 = rc.ToList();
}
/*
exec sp_executesql N'SELECT
[Extent2].[OCID] AS [OCID],
[Extent1].[OGUID] AS [OGUID],
[Extent1].[OName] AS [OName],
[Extent1].[OStatus] AS [OStatus],
[Extent2].[OCVal] AS [OCVal]
FROM [dbo].[TOrder] AS [Extent1]
INNER JOIN [dbo].[TOrderCode] AS [Extent2] ON [Extent1].[OStatus] = [Extent2].[OCID]
WHERE (([Extent2].[OCID]) | (@p__linq__0)) = @p__linq__1',N'@p__linq__0 int,@p__linq__1 int',@p__linq__0=1,@p__linq__1=1
go
*/
位图状态值的好处:
1.位与位之间不受影响,位的职责单一。
2.无论流程怎么变化,一些无关的位最多不使用。
3.无论流程怎么变化,只需要关心正在使用着的代码值 & 所需条件是否等于所需条件即可,不用修改代码表。
位图状态值的缺点:
1.维护新旧代码值时容易出现冗余
2.编写SQL或者Linq表达式时较繁琐
工作流状态值的位图思路
分析工作流中每一步的各原子状态,并取并集定义静态变量或宏。
每一步的各原子状态作为一个新代码值存入对应的代码表中。
[C# code]
// 定义宏
public static int IS_DEL = 1;
public static int IS_SHOW = 2;
public static int IS_USING = 4;
public void Test()
{
// order是主表,orderc是order对应的代码表,使用位图的思路进行状态的过滤
var order = this.DbSession.TOrderDal.GetQueryable(x => true);
var orderc = this.DbSession.TOrderCodeDal.GetQueryable(x => true);
var rc = from o in order
join oc in orderc // 连代码表无非是要中文的值,真正的过滤只使用主表即可
on o.OStatus equals oc.OCID
select new {
o,
oc,
};
rc = rc.Where(x => (x.oc.OCID | TOrderService.IS_DEL) == TOrderService.IS_DEL);
var rc2 = rc.ToList();
}
/*
exec sp_executesql N'SELECT
[Extent2].[OCID] AS [OCID],
[Extent1].[OGUID] AS [OGUID],
[Extent1].[OName] AS [OName],
[Extent1].[OStatus] AS [OStatus],
[Extent2].[OCVal] AS [OCVal]
FROM [dbo].[TOrder] AS [Extent1]
INNER JOIN [dbo].[TOrderCode] AS [Extent2] ON [Extent1].[OStatus] = [Extent2].[OCID]
WHERE (([Extent2].[OCID]) | (@p__linq__0)) = @p__linq__1',N'@p__linq__0 int,@p__linq__1 int',@p__linq__0=1,@p__linq__1=1
go
*/
位图状态值的好处:
1.位与位之间不受影响,位的职责单一。
2.无论流程怎么变化,一些无关的位最多不使用。
3.无论流程怎么变化,只需要关心正在使用着的代码值 & 所需条件是否等于所需条件即可,不用修改代码表。
位图状态值的缺点:
1.维护新旧代码值时容易出现冗余
2.编写SQL或者Linq表达式时较繁琐
工作流状态值的位图思路
分析工作流中每一步的各原子状态,并取并集定义静态变量或宏。
每一步的各原子状态作为一个新代码值存入对应的代码表中。
阅读全文
0 0
- 并列状态值和工作流状态值的位图处理思路
- Enable不能和MouseOver、Out等并列作为状态
- workflow 基于状态的工作流
- 服务器请求状态值和状态码
- wifi状态的判断和处理、
- React和Redux的状态处理
- ajax请求状态:readyState的状态值,status状态值
- JQuery获取的值和选中状态
- 工作流状态活动图
- 表单工作流状态介绍
- MFC设置按钮状态和在按钮上加载位图的方法
- Git入门指南三:Git工作流和查看文件状态
- ExpressRoute 线路预配工作流和线路状态
- 关于 GridView1的编辑状态和非编辑状态取值 GridViewEditEventArgs e ,GridViewCancelEditEventArgs e
- jquery动态计算编辑状态或非编辑状态值的和
- Ajax:readyState(状态值)和status(状态码)的区别
- Ajax关于readyState(状态值)和status(状态码)的研究
- bean的托管状态和游离状态
- 他山界面开发框架OHUI v47.0.2
- ROS-learning-CartoGrapher Installation Steps
- springmvc常用注解标签详解
- HDU4758AC自动机DP
- Android下拉刷新PtrFrameLayout的使用
- 并列状态值和工作流状态值的位图处理思路
- Winform窗体圆角以及描边完美解决方案
- 针对app测试的重点关注内容
- UniversalVideoView学习使用
- 变更主键的表数据迁移
- DecimalFormat的用法
- 分析div自动适应浏览器的高度
- 最近计划
- IOMMU From Wikipedia, the free encyclopedia