SqlServer 单元测试 Curd 走通

This commit is contained in:
28810
2018-12-19 17:06:38 +08:00
parent d619d29cfa
commit 4e45bb184e
21 changed files with 933 additions and 42 deletions

View File

@ -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;

View File

@ -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;
}

View File

@ -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;