Как правило, можно было бы извлечь запись из первичного ключа, используя следующий запрос (или мы могли бы использовать Find()
, в зависимости от обстоятельств):Entity Framework, 6: ToString() Сравнение первичных ключей
using (var context = new SomeContext())
{
entity = context.Users.SingleOrDefault(x => x.Id == id);
}
Какое влияние оказывает выполнение одного и того же запроса, но с ToString() - значениями первичного ключа?
Как так:
using (var context = new SomeContext())
{
entity = context.Users
.SingleOrDefault(x => x.Id.ToString() == id.ToString());
}
Почему стоит остановиться? Почему бы не вызвать '.ToString()' еще несколько раз и добавить '' '' для хорошей меры? В более серьезной заметке вы должны иметь возможность отслеживать SQL, который генерируется без каких-либо проблем, и убедиться в этом, если есть разница. Кроме того, существует ли разница в зависимости от типа 'Id'. – hvd
Да, зачем спрашивать здесь, пока вы можете сделать простой тест? Мы даже не можем ответить на ваш вопрос. –