我希望这是一个简单的解决方案。我在表(Stocks)中有一个字段(PressType),它是使用Enum填充的种子。该表将数据存储为整数。但是,当我想通过Linq查询一些数据时,它给了我一些问题。我可以使用这种格式过滤表格中的任何其他字段,但是在Enum填充字段中显示
“==”运算符不能应用于“Models.PressType”和“string”类型的操作数。
感谢您提供的任何帮助。
var test = db.Stocks.Where(x => x.PressType == myValue);
答案 0 :(得分:0)
您的Linq没有任何问题。您的问题是myValue
的类型为string
。您需要先将字符串转换为枚举。
string myValue = SomeControl.Text;
Models.PressType myValueAsEnum = (Models.PressType)
Enum.Parse(typeof(Models.PressType), myValue);
IQueryable<Stock> test = db.Stocks.Where(x => x.PressType == myValueAsEnum);