mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-06-19 20:38:16 +08:00
- 优化 集合导航属性表达式中忘记使用 AsSelect() 的友好错误提示;
This commit is contained in:
@ -1021,6 +1021,7 @@ namespace FreeSql.Internal
|
||||
other3Exp = ExpressionLambdaToSqlOther(exp3, tsc);
|
||||
if (string.IsNullOrEmpty(other3Exp) == false) return other3Exp;
|
||||
if (exp3.IsParameter() == false) return formatSql(Expression.Lambda(exp3).Compile().DynamicInvoke(), tsc.mapType, tsc.mapColumnTmp, tsc.dbParams);
|
||||
if (exp3.Method.DeclaringType == typeof(Enumerable)) throw new Exception($"未实现函数表达式 {exp3} 解析。如果正在操作导航属性集合,请使用 .AsSelect().{exp3.Method.Name}({(exp3.Arguments.Count > 1 ? "..." : "")})");
|
||||
throw new Exception($"未实现函数表达式 {exp3} 解析");
|
||||
case ExpressionType.Parameter:
|
||||
case ExpressionType.MemberAccess:
|
||||
@ -1292,6 +1293,8 @@ namespace FreeSql.Internal
|
||||
}
|
||||
if (tb2.ColumnsByCsIgnore.ContainsKey(mp2.Member.Name))
|
||||
throw new ArgumentException($"{tb2.DbName}.{mp2.Member.Name} 被忽略,请检查 IsIgnore 设置,确认 get/set 为 public");
|
||||
if (tb2.GetTableRef(mp2.Member.Name, false) != null)
|
||||
throw new ArgumentException($"{tb2.DbName}.{mp2.Member.Name} 导航属性集合忘了 .AsSelect() 吗?如果在 ToList(a => a.{mp2.Member.Name}) 中使用,请移步参考 IncludeMany 文档。");
|
||||
throw new ArgumentException($"{tb2.DbName} 找不到列 {mp2.Member.Name}");
|
||||
}
|
||||
var col2 = tb2.ColumnsByCs[mp2.Member.Name];
|
||||
|
Reference in New Issue
Block a user