using DataAgent.DataAccessor;
using DataAgent.Provider;
using System;
using System.Collections.Generic;
using System.Data;
using x8967e63e89e18c40;
using xaa33c3b341f02f34;namespace DataAgent.DataOperator
{
public class RelationOperator<EntityType> : x538c7e7792088e78 where EntityType : new()
{
protected xf3c4f579038c366c x01f46f6042b6d18a;
protected SortedList<int, RelationResource> x38d84b43cf7a0e1f;
protected string xd0dc75a1e9116240; public RelationOperator(BaseDataAccessor pBaseDataAccessor_In); public string RelationSql { get; } public int ClearRelation();
public int DoCommand(string strCommand);
public int DoQuery(string strSql, out DataSet pDataSet_Out);
public int ExcuteRegularQuery(string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out);
public int ExcuteRegularQuery(string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out, out Dictionary<Type, List<string>> dicTableAlias_Out);
public int ExcuteRegularQuery(string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out, params IRelationColumnSortPair[] pIRelationColumnSortPairs_In);
public int ExcuteRegularQuery(RelationPageParameter pRelationPageParameter, string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out, params IRelationColumnSortPair[] pIRelationColumnSortPairs_In);
public int ExcuteRegularQuery(string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out, out Dictionary<Type, List<string>> dicTableAlias_Out, params IRelationColumnSortPair[] pIRelationColumnSortPairs_In);
public int ExcuteRegularQuery(RelationPageParameter pRelationPageParameter, string[] staArr_SelectColumns, IList<Filter> pList_Condition_In, IDictionary<string, object> dicExtendParam_In, out DataSet pDataSet_Out, out Dictionary<Type, List<string>> dicTableAlias_Out, params IRelationColumnSortPair[] pIRelationColumnSortPairs_In);
public RelationOperator<EntityType> JoinTo<LeftEntityType, RightEntityType>(JoinType pJoinType, string strLeftColumn, string strRightColumn);
public RelationOperator<EntityType> JoinTo<LeftEntityType, RightEntityType>(JoinType pJoinType, string strLeftColumn, string strRightColumn, int LeftDuplicationIndex_In);
}
}IList<Filter> filter;
int hResult;
DataSet ds = null;
//(1)创建事务对象
TransactionScope ts = new CConfigManage().TransactionScope; ; string[] columns = {BE.HIS_USERS._SYS_USER_ID,
BE.HIS_USERS._SYS_USER_NAME,
BE.HIS_USERS._HIS_USER_ID,
BE.HIS_USERS._USER_NAME,BE.HIS_USERS._USER_STATUS,
BE.HIS_ROLES._ROLE_NAME
};
RelationOperator<JZTMedicalPurchasing.BE.HIS_USERS> relationOperator = new RelationOperator<JZTMedicalPurchasing.BE.HIS_USERS>(ts.DataAccessor);
relationOperator.JoinTo<BE.HIS_USERS, BE.HIS_ROLES>(JoinType.LEFT_OUTER_JOIN, BE.HIS_USERS._HIS_ROLE_ID, BE.HIS_ROLES._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLES, BE.HIS_ROLE_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLES._HIS_ROLE_ID, BE.HIS_ROLE_PRIVILEGE._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLE_PRIVILEGE, BE.HIS_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLE_PRIVILEGE._HIS_PRIVILEGE_ID, BE.HIS_PRIVILEGE._HIS_PRIVILEGE_ID);
hResult = relationOperator.ExcuteRegularQuery(columns, filter, null, out ds);
上面中relationOperator.JoinTo<BE.HIS_USERS, BE.HIS_ROLES>(JoinType.LEFT_OUTER_JOIN, BE.HIS_USERS._HIS_ROLE_ID, BE.HIS_ROLES._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLES, BE.HIS_ROLE_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLES._HIS_ROLE_ID, BE.HIS_ROLE_PRIVILEGE._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLE_PRIVILEGE, BE.HIS_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLE_PRIVILEGE._HIS_PRIVILEGE_ID, BE.HIS_PRIVILEGE._HIS_PRIVILEGE_ID);
等效的SQL语句是什么(select ...)? 我看不懂这个
解决方案 »
- C# linq to dataTable大数据量占用CPU问题
- 验证只能输入数字和逗号
- 阅读器关闭时尝试调用 Read 无效
- C#桌面类应用的开发
- C#windows窗体运行窗体之后程序继续运行
- 请教,C#中自定义 值类型 重载 问题!!!
- 连接Excel问题
- 如何将一个字符串"(1-2)*4+2"得到一个值-2呢?
- 如何使用Sql语句存储二进制文本?(问题解决后马上结贴)
- C# 如何分别改变comboBox控件的高度(height)与项高度(itemheight)
- 对于C# Webform项目,添加到*.aspx页面上的控件如文本框为什么拖不动呢
- 使用Ext.ajax.request()查询数据库的值 然后赋值给表单的文本框???
就是select ... from table1 left outer join table2 on ...这样的
relationOperator.JoinTo<BE.HIS_USERS, BE.HIS_ROLES>(JoinType.LEFT_OUTER_JOIN, BE.HIS_USERS._HIS_ROLE_ID, BE.HIS_ROLES._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLES, BE.HIS_ROLE_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLES._HIS_ROLE_ID, BE.HIS_ROLE_PRIVILEGE._HIS_ROLE_ID)
.JoinTo<BE.HIS_ROLE_PRIVILEGE, BE.HIS_PRIVILEGE>(JoinType.LEFT_OUTER_JOIN, BE.HIS_ROLE_PRIVILEGE._HIS_PRIVILEGE_ID, BE.HIS_PRIVILEGE._HIS_PRIVILEGE_ID);
hResult = relationOperator.ExcuteRegularQuery(columns, filter, null, out ds);不管是不是,这段代码还是有点像的。
没用过Linq2SQL的飘过。