Объект EF Core без ключа из представления выдает ошибку первичного ключа при прямом доступе к DbSetC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Объект EF Core без ключа из представления выдает ошибку первичного ключа при прямом доступе к DbSet

Сообщение Anonymous »

У меня есть представление в SQL Server, и я зарегистрировал его как объект без ключа в моей модели EF Core:

Код: Выделить всё

[Keyless]
public class BlogPostsCount
{
public string BlogName { get; set; }
public int PostCount { get; set; }
}

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity(eb =>
{
// or Explicitly set as keyless from here
// eb.HasNoKey();
eb.ToView("View_BlogPostCounts");
});
}

public DbSet BlogPostCounts { get; set; }
Когда я пытаюсь получить прямой доступ к DbSet

Код: Выделить всё

var blogSet = context.BlogPostCounts;
выдается следующая ошибка:

Вызванный метод нельзя использовать для типа сущности «BlogPostsCount», поскольку он не имеет первичного ключа.

Однако использование .AsNoTracking() или материализация данных с помощью .ToList() работает без проблем.
Почему EF Core по-прежнему проверяет наличие первичного ключа, хотя объект явно помечен как не имеющий ключа?

Подробнее здесь: https://stackoverflow.com/questions/793 ... sing-dbset
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»