mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-08-01 19:15:10 +08:00
Update Bug
This commit is contained in:
parent
edcb31ea03
commit
c4ca36316e
@ -23,17 +23,18 @@ namespace SqlSugar
|
||||
var nodeType = expression.NodeType;
|
||||
base.Expression = expression.Operand;
|
||||
var isMember = expression.Operand is MemberExpression;
|
||||
var isConst = expression.Operand is ConstantExpression;
|
||||
if (base.Expression is BinaryExpression || parameter.BaseExpression is BinaryExpression)
|
||||
{
|
||||
Default(parameter, nodeType);
|
||||
Append(parameter, nodeType);
|
||||
}
|
||||
else if (base.Expression is MemberExpression || base.Expression is ConstantExpression||isMember)
|
||||
else if (isMember || isConst)
|
||||
{
|
||||
ChildNodeSet(parameter, nodeType);
|
||||
Result(parameter, nodeType);
|
||||
}
|
||||
else
|
||||
{
|
||||
Default(parameter, nodeType);
|
||||
Append(parameter, nodeType);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
@ -41,7 +42,7 @@ namespace SqlSugar
|
||||
}
|
||||
}
|
||||
|
||||
private void ChildNodeSet(ExpressionParameter parameter, ExpressionType nodeType)
|
||||
private void Result(ExpressionParameter parameter, ExpressionType nodeType)
|
||||
{
|
||||
BaseParameter.ChildExpression = base.Expression;
|
||||
parameter.CommonTempData = CommonTempDataType.ChildNodeSet;
|
||||
@ -53,7 +54,7 @@ namespace SqlSugar
|
||||
parameter.CommonTempData = null;
|
||||
}
|
||||
|
||||
private void Default(ExpressionParameter parameter, ExpressionType nodeType)
|
||||
private void Append(ExpressionParameter parameter, ExpressionType nodeType)
|
||||
{
|
||||
BaseParameter.ChildExpression = base.Expression;
|
||||
parameter.CommonTempData = CommonTempDataType.Default;
|
||||
|
@ -47,17 +47,16 @@ namespace SqlSugar
|
||||
columnproperty(syscolumns.id,syscolumns.name,'IsIdentity')as IsIdentity,
|
||||
(CASE
|
||||
WHEN EXISTS
|
||||
(SELECT 1
|
||||
FROM sysobjects
|
||||
WHERE xtype= 'pk'
|
||||
AND name IN
|
||||
(SELECT name
|
||||
FROM sysindexes
|
||||
WHERE indid IN
|
||||
(SELECT indid
|
||||
FROM sysindexkeys
|
||||
WHERE id = syscolumns.id
|
||||
AND colid=syscolumns.colid ))) THEN 1
|
||||
(
|
||||
select 1
|
||||
from sysindexes i
|
||||
join sysindexkeys k on i.id = k.id and i.indid = k.indid
|
||||
join sysobjects o on i.id = o.id
|
||||
join syscolumns c on i.id=c.id and k.colid = c.colid
|
||||
where o.xtype = 'U'
|
||||
and exists(select 1 from sysobjects where xtype = 'PK' and name = i.name)
|
||||
and o.name=sysobjects.name and c.name=syscolumns.name
|
||||
) THEN 1
|
||||
ELSE 0
|
||||
END) AS IsPrimaryKey
|
||||
FROM syscolumns
|
||||
|
Loading…
Reference in New Issue
Block a user