|
本帖最后由 jonneyfan 于 2014-6-2 16:04 编辑
在appbox4.0里面连接mysql成功后,点击“职称用户管理”菜单时“Grid2.DataBind();”报错,具体如下
// 排列和分页
q = SortAndPage<User>(q, Grid2);
try
{
Grid2.DataSource = q;
Grid2.DataBind();
}
堆栈信息:
在 MySql.Data.Entity.SelectStatement.Accept(SqlFragmentVisitor visitor)
在 MySql.Data.Entity.ExistsFragment.Accept(SqlFragmentVisitor visitor)
在 MySql.Data.Entity.BinaryFragment.Accept(SqlFragmentVisitor visitor)
在 MySql.Data.Entity.SqlGenerator.VisitAndReplaceTableName(SqlFragment sf, String oldTable, String newTable)
在 MySql.Data.Entity.SqlGenerator.FuseSelectWithInnerSelect(SelectStatement outer, SelectStatement inner)
在 MySql.Data.Entity.SqlGenerator.TryFusingSelect(InputFragment f)
在 MySql.Data.Entity.SqlGenerator.VisitInputExpression(DbExpression e, String name, TypeUsage type)
经过跟踪,发现fineui grid “foreach”报错
private int DataBindToEnumerable(IEnumerable list)
{
BeforeDataBind();
int rowIndex = 0;
foreach (object rowObj in list)
{
DataBindRow(rowIndex, rowObj);
rowIndex++;
}
当list语句是“{SELECT`Extent1`.`ID`, `Extent1`.`Name`, `Extent1`.`Remark`FROM `Titles` AS `Extent1` ORDER BY `Extent1`.`Name` DESC}”
执行没有问题,但是当查询list是“{System.Data.Entity.Infrastructure.DbQuery<AppBox.User>}”这种引用查询时 “foreach”语句就报错就会报这个错误,请大家帮忙解决。
|
|