IDbAsyncEnumerable не реализован.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 IDbAsyncEnumerable не реализован.

Сообщение Гость »


I am trying to make a FakeDbContext with a FakeDbSet for unit testing.

But I get the following error (see below). I am extending DbSet so normally IDbAsyncEnumerable should be implemented. And when I implement it, it says that it has no use.

Exception:

System.InvalidOperationException: The source IQueryable doesn't implement IDbAsyncEnumerable. Only sources that implement IDbAsyncEnumerable can be used for Entity Framework asynchronous operations. For more details see http://go.microsoft.com/fwlink/?LinkId=287068.

FakeDbSet class:

public abstract class FakeDbSet : DbSet, IEnumerable, IQueryable, IDbAsyncEnumerable where TEntity : Entity, new() { #region Private Fields private readonly ObservableCollection _items; private readonly IQueryable _query; #endregion Private Fields protected FakeDbSet() { _items = new ObservableCollection(); _query = _items.AsQueryable(); } public Expression Expression { get { return _query.Expression; } } public Type ElementType { get { return _query.ElementType; } } public IQueryProvider Provider { get { return _query.Provider; } } public override TEntity Add(TEntity entity) { _items.Add(entity); return entity; } public override TEntity Remove(TEntity entity) { _items.Remove(entity); return entity; } public override TEntity Attach(TEntity entity) { switch (entity.ObjectState) { case ObjectState.Modified: _items.Remove(entity); _items.Add(entity); break; case ObjectState.Deleted: _items.Remove(entity); break; case ObjectState.Unchanged: case ObjectState.Added: _items.Add(entity); break; default: throw new ArgumentOutOfRangeException(); } return entity; } public override TEntity Create() { return new TEntity(); } public override TDerivedEntity Create() { return Activator.CreateInstance(); } public override ObservableCollection Local { get { return _items; } } IEnumerator IEnumerable.GetEnumerator() { return _items.GetEnumerator(); } Type IQueryable.ElementType { get { return _items.AsQueryable().ElementType; } } Expression IQueryable.Expression { get { return _items.AsQueryable().Expression; } } IQueryProvider IQueryable.Provider { get { return _items.AsQueryable().Provider; } } Here is a gist with the code. In the last file in the gist, that is where the error happens. Gist code


Источник: https://stackoverflow.com/questions/262 ... mplemented
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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