mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
SqlServer 单元测试 Curd 走通
This commit is contained in:
@ -113,15 +113,36 @@ namespace FreeSql.Internal {
|
||||
{ ExpressionType.Equal, "=" },
|
||||
};
|
||||
internal string ExpressionWhereLambdaNoneForeignObject(List<SelectTableInfo> _tables, List<SelectColumnInfo> _selectColumnMap, Expression exp) {
|
||||
return ExpressionLambdaToSql(exp, _tables, _selectColumnMap, SelectTableInfoType.From, true);
|
||||
var sql = ExpressionLambdaToSql(exp, _tables, _selectColumnMap, SelectTableInfoType.From, true);
|
||||
switch(sql) {
|
||||
case "1":
|
||||
case "'t'": return "1=1";
|
||||
case "0":
|
||||
case "'f'": return "1=2";
|
||||
default:return sql;
|
||||
}
|
||||
}
|
||||
|
||||
internal string ExpressionWhereLambda(List<SelectTableInfo> _tables, Expression exp) {
|
||||
return ExpressionLambdaToSql(exp, _tables, null, SelectTableInfoType.From, true);
|
||||
var sql = ExpressionLambdaToSql(exp, _tables, null, SelectTableInfoType.From, true);
|
||||
switch (sql) {
|
||||
case "1":
|
||||
case "'t'": return "1=1";
|
||||
case "0":
|
||||
case "'f'": return "1=2";
|
||||
default: return sql;
|
||||
}
|
||||
}
|
||||
internal void ExpressionJoinLambda(List<SelectTableInfo> _tables, SelectTableInfoType tbtype, Expression exp) {
|
||||
var tbidx = _tables.Count;
|
||||
var filter = ExpressionLambdaToSql(exp, _tables, null, tbtype, true);
|
||||
switch (filter) {
|
||||
case "1":
|
||||
case "'t'": filter = "1=1"; break;
|
||||
case "0":
|
||||
case "'f'": filter = "1=2"; break;
|
||||
default: break;
|
||||
}
|
||||
if (_tables.Count > tbidx) {
|
||||
_tables[tbidx].Type = tbtype;
|
||||
_tables[tbidx].On = filter;
|
||||
|
@ -76,7 +76,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
foreach (var col in _table.Columns.Values)
|
||||
if (col.Attribute.IsIdentity == false && _ignore.ContainsKey(col.Attribute.Name) == false) {
|
||||
if (colidx2 > 0) sb.Append(", ");
|
||||
sb.Append("?").Append(col.CsName).Append(didx);
|
||||
sb.Append(_commonUtils.QuoteParamterName(col.CsName)).Append(didx);
|
||||
_params[didx * colidx + colidx2] = _commonUtils.AppendParamter(null, $"{col.CsName}{didx}", _table.Properties.TryGetValue(col.CsName, out var tryp) ? tryp.GetValue(d) : DBNull.Value);
|
||||
++colidx2;
|
||||
}
|
||||
|
@ -54,7 +54,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
public IUpdate<T1> Set<TMember>(Expression<Func<T1, TMember>> column, TMember value) {
|
||||
var col = _commonExpression.ExpressionSelectColumn_MemberAccess(null, null, SelectTableInfoType.From, column?.Body, true);
|
||||
if (string.IsNullOrEmpty(col)) return this;
|
||||
_set.Append(", ").Append(col).Append(" = ?p_").Append(_params.Count);
|
||||
_set.Append(", ").Append(col).Append(" = ").Append(_commonUtils.QuoteParamterName("p_")).Append(_params.Count);
|
||||
_commonUtils.AppendParamter(_params, null, value);
|
||||
//foreach (var t in _source) Utils.FillPropertyValue(t, tryf.CsName, value);
|
||||
return this;
|
||||
@ -135,7 +135,7 @@ namespace FreeSql.Internal.CommonProvider {
|
||||
// ++pkidx;
|
||||
//}
|
||||
//if (_table.Primarys.Length > 1) caseWhen.Append(")");
|
||||
var cw = caseWhen.Append(" ").ToString();
|
||||
var cw = caseWhen.ToString();
|
||||
|
||||
_paramsSource.Clear();
|
||||
var colidx = 0;
|
||||
|
Reference in New Issue
Block a user