C# Linq查询在尝试从数据库检索时出错

C# Linq查询在尝试从数据库检索时出错,c#,linq,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) ord

我尝试了下面的查询,以使用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();
List a=await(从新db_上下文()中的p开始)。Items
其中p.sub_Var.Name.Equals((发送方为按钮).Text)
orderby p.Name
选择p).ToListAsync();

使用=而不是
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();
List a=await(从新db_上下文()中的p开始)。Items
其中p.sub_Var.Name==((发送者为按钮).Text)
orderby p.Name
选择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();
stringbuttonname=(发送者作为按钮)。文本;
列表a=等待(从新db_上下文()中的p开始)。项
其中p.sub_Var.Name==按钮名
orderby p.Name
选择p).ToListAsync();
字符串名称=(发送者作为按钮)。文本;
列表a=等待(从新db_上下文()中的p开始)。项
其中p.sub_Var.Name==Name
orderby p.Name
选择p).ToListAsync();

我现在得到的是,“对象引用未设置为对象的实例”。任何想法和任何东西都似乎是空的,您需要另一个(,检查更新的回答是否对您有效HI答案是首先将其设置为变量,感谢帮助确保您的发件人每次调用此函数时实际上是一个按钮对象除此之外我不知道空引用可能来自何处
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();