尝试从数据库检索时,Linq Query导致错误

时间:2017-10-22 16:21:34

标签: c# linq

我已尝试使用以下查询从linq获取数据库中的列表,但出现以下错误

  

无法创建类型' System.Object'的常量值。在此上下文中仅支持原始类型或枚举类型。

我不确定导致错误的原因。

 List<a> a = await (from p in new db_Context().Items
                    where p.sub_Var.Name.Equals((sender as Button).Text)
                    orderby p.Name
                    select p).ToListAsync();

2 个答案:

答案 0 :(得分:1)

使用 == 代替Equals

 List<a> a = await (from p in new db_Context().Items
                    where p.sub_Var.Name == ((sender as Button).Text)
                    orderby p.Name
                    select p).ToListAsync();

修改

如果你得到null,将按钮文本设置为变量并检查,

string buttonname = (sender as Button).Text;


List<a> a = await (from p in new db_Context().Items
                        where p.sub_Var.Name == buttonname 
                        orderby p.Name
                        select p).ToListAsync();

答案 1 :(得分:0)

string name = (sender as Button).Text;

List<a> a = await (from p in new db_Context().Items
                    where p.sub_Var.Name == name 
                    orderby p.Name
                    select p).ToListAsync();