#ef-core-2.0
#ef-core-2.0
Вопрос:
Сущность.
[Таблица(«Строки заказа», Схема = «Продажи»)]
public class OrderLine { [Key] public long OrderLineID { get; set; } }
Попробуйте получить объект по идентификатору
public virtual async Task<T> GetByIdAsync(object id)
{
if (id == null) throw new ArgumentNullException("Identifier is null");
return await _entities.FindAsync(id);
}
Выдает ошибку
Система.Исключение AggregateException: «Произошла одна или несколько ошибок. (Ключевое значение в позиции 0 вызова ‘DbSet.Find’ имело тип ‘int’, который не соответствует типу свойства ‘long’.)»
Комментарии:
1. В чем вопрос? По-видимому, вы передаете
int
идентификатор функции, которая ожидаетlong
идентификатор.2. вы должны явно присвоить идентификатору значение long, когда хотите использовать метод. Нравится
GetByIdAsync((long)id)
3. Почему int не может быть неявно преобразован в long?