попробуйте наоборот. Я предполагаю, что «ключ» - это переменная int, поэтому приведение ее к строке выполняется с помощью ToString (), и я использую ее для сравнения с KeyAsString и в порядке, не используя приведение:
var keyString = key.ToString();
var query = from c in context.Table
where keyString == c.KeyAsString
order by c.KeyAsString
select c
если у вас возникли проблемы с заказом, используйте метод, подобный ToList()
или ToArray()
, чтобы вытянуть результаты в память, и там вы сможете привести к int или использовать собственный компаратор.