Что поставить в качестве поставщика для издевательного

StackOverflow https://stackoverflow.com/questions/2246180

  •  20-09-2019
  •  | 
  •  

Вопрос

Я работаю с Родинки и издеваться над системой.data.linq.table.

Я понял это нормально, но когда я использую его, он хочет iqueryable.Провайдер Быть издевательством (лишено).

Я просто хочу, чтобы он использовал нормальный LINQ для объектов. Есть идеи, что это будет?

Вот синтаксис, который я могу использовать:

MTable<User> userTable = new System.Data.Linq.Moles.MTable<User>();
userTable.Bind(new List<User> { UserObjectHelper.TestUser() });

// this is the line that needs help
MolesDelegates.Func<IQueryProvider> provider = //Insert provider here!
                                                             ^
userTable.ProviderSystemLinqIQueryableget = provider         |
                                                             |
                                                             | 
what can I put here? ----------------------------------------+
Это было полезно?

Решение

Простейшим будет List<T> который можно использовать как IQueryable<T> с помощью .AsQueryable().

MolesDelegates.Func<IQueryProvider> provider = () => userLinqList.AsQueryable().Provider;

Это то, что я использую в качестве базы данных в памяти для издевания Linq2sql. Просто и элегантно.

Другие советы

Простым решением было бы связать список. Asqueryable () с таблицей. Методы iqueryable будут автоматически перенаправлены в список.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top