DbContext.set () не может создать DbSet для сущности, поскольку этот тип не включен в модель для контекста - PullRequest
0 голосов
/ 10 мая 2018

Я использую EF Core .Я использую DbContext.Set() метод, но он дает мне ошибку - «Не удается создать DbSet для« MediaDate », потому что этот тип не включен в модель для контекста». «

Ниже приведен мой код:

var context = new GoldentaurusContext();
DbSet<MediaDate> set = context.Set<MediaDate>();
mediaDateList = set.FromSql("[dbo].[sp_GetMediaDate]")
                .Select(x => new SelectListItem { Text = x.DateText, Value = x.DateValue })
                .ToList();

Класс MediaDate:

public class MediaDate
{
    public string DateText { get; set; }
    public string DateValue { get; set; }
}

enter image description here

Почему требуется добавить MediaDate класс к DbContext класс?

Пожалуйста, помогите, что я делаю не так?

Ответы [ 2 ]

0 голосов
/ 10 мая 2018

Во-первых, вы должны представить свою модель (MediaDate) DbContext. добавьте свойство DbSet<MediaDate> в ваш контекст:

public class ApplicationDbContext : DbContext
{
    public ApplicationDbContext()
        : base("DefaultConnection")
    {
    }

    public DbSet<MediaDate> MediaDates { get; set; }
}
0 голосов
/ 10 мая 2018

Простой DatabaseContext будет выглядеть следующим образом:

using YourProject.Model;
using System.Data.Entity;

namespace YourProject.Data
{
    public class DatabaseContext : DbContext
    {
        public DatabaseContext() :
            base("name=YourDatabase")
        {

        }

        public DbSet<MediaData> MediaDates{ get; set; }
    }
}

Вам всегда нужно включать ваши модели в DatabaseContext для создания DbSets.Убедитесь, что вы указали правильные пространства имен и импортировали правильные.

...