下面是方法代码和报错信息
DAL调用petapoco的方法
petapoco底层中的原本方法。
实际上应该返回一个Model.Class实体类,但是在DAL中定义的是泛型所以只有用Object代替。返回的结果无法取出其中的值。也无法强制转换为Class实体类。希望大牛能。。。帮个忙。
protected void ddl_DataBind()
{
Telerik.Web.UI.RadComboBoxItem item = new Telerik.Web.UI.RadComboBoxItem();
item.Text = "所有班级";
item.Value = "";
Class_Rcbox.Items.Add(item);
var lis = editor.select("select distinct(className) from Class");
for (int i = 1; i <= lis.Count; i++)
{
Telerik.Web.UI.RadComboBoxItem nItem = new Telerik.Web.UI.RadComboBoxItem();
nItem.Value = lis[i-1].className + "";
nItem.Text = lis[i - 1].className + "";
Class_Rcbox.Items.Add(nItem);
}
//*//
}
图不会添加,上面是一个调用方法。
public List select(string sql, params object[] obj)
{
return ds.Fetch(sql, obj);
}
///在DAL中这样调用petapoco的方法
public List Fetch(string sql, params object[] args)
{
//var i = Query(sql, args);
return Query(sql, args).ToList();
}
petapoco中的原始方法。
我查看lis中的值有17个然后值类型是这个。我根本取不出来这个值。 [0] = {System.Dynamic.ExpandoObject}
查到了问题是dynamic视图模式转换匿名对象失败。有人说用反射,但是反射应该怎么写呢?