Невозможно выбрать конкретный столбец в SqlQuery - Entity Framework сначала код - PullRequest
0 голосов
/ 01 ноября 2019

У меня проблема, когда я использую метод SqlQuery, чтобы попытаться получить некоторые данные из базы данных, все идеально, если я получаю все столбцы, как это:

data.Items.SqlQuery("SELECT * FROM dbo.Items WHERE iID = '1' ORDER BY iTitle")

Но я просто хочуполучить, может быть, один или два столбца, но это не работает, и я получаю сообщение об ошибке:

data.Items.SqlQuery("SELECT iTitle FROM dbo.Items WHERE iID = '1' ORDER BY iTitle")

Ошибка:

Дополнительная информация: устройство чтения данных несовместимо с указанным '.... Models.Item. Элемент типа «iID» не имеет соответствующего столбца в считывателе данных с тем же именем.

Ниже приведен некоторый код модели и dbcontext

[Table("Items")]
public class Item
{
    [Key]
    [Column("iID")]
    public int iID { get; set; }

    [Column(TypeName = "varchar")]
    [StringLength(50)]
    public int iTitle { get; set; }
}

public class ItemDBContext : DbContext
{
    public ItemDBContext() : base("name=connectionstring") { }
    public DbSet<Item> Items { get; set; }
}

Я надеюсь, что кто-то может сказать мне, что я могу сделать, чтобы решить эту проблему? Я был бы чрезвычайно благодарен за это <3 </p>

1 Ответ

0 голосов
/ 01 ноября 2019

если вы используете сущностный каркас с первым подходом кода, вы можете использовать приведенную ниже реализацию кода для получения данных

var itemdata = data.Items.Where(x=> x.iID.Equals(1)).OrderBy(x=> x.iTitle).toList();

, тогда вы можете использовать

itemdata

список того, что вы хотите. надеюсь, это поможет вам!

...