проблема, с которой я сталкиваюсь, связана с тем, что устройство чтения данных несовместимо с указанной моделью, я подумал, что, добавив имя столбца, это будет работать, но это не так. Вот код, связанный с рассматриваемой проблемой.
Модель:
[Table("IPs")]
public class Ip : BaseEntity
{
[Key]
public int Id { get; set; }
[Column("IdItem")]
public int? ItemId { get; set; }
[Column("EnUso")]
public string En_Uso { get; set; }
//more properties...
}
Метод, который не работает, работает с обобщениями, ModelClass будет Ip здесь:
var table = TableName<ModelClass>();
var primaryKey = PrimaryKeyProperty<ModelClass>().Name; //this one uses reflection to see which one get the Key
var query = String.Format(FindQuery(), table, primaryKey, id);
// The resulting query is this for example: Select * from IPs WHERE id = 1
var result = DBSet().SqlQuery(query); //here it fails
return result.FirstOrDefault();
Ошибка, которую я получаю:
считыватель данных несовместим с указанным
'Inventario.Models.Ip. Элемент типа ItemId не имеет
соответствующий столбец в считывателе данных с тем же именем.
Если я изменю имя столбца на IdItem, то оно будет разбито на «En_Uso», хотя изменение некоторых свойств не будет проблемой
Я хотел бы исправить это, если это возможно, с помощью аннотаций данных или чего-то такого, что не требует использования точных имен таблиц, но я уже указал имя столбца, я не знаю, что еще.
делать