Mongodb C # LINQ сгерированный запрос -- c# поле с участием mongodb пол Связанный проблема

MongoDB c# LINQ generated query


1
vote

проблема

русский

Как я могу получить сгенерированный запрос из запроса LINQ? Я попробовал это, но это не работало:

 <код> var query = (             from d in mcollection.AsQueryable<InstrumentationDocument>()             where d.user == User && d.timestamp > DateTime.Today.AddDays(-days)             orderby d.timestamp descending             select new             {                 d.timestamp,                 d.machine,                 d.processID,                 feature = d.info["feature"].AsString,                 extra = d.info.Contains("extra") ? d.info["extra"].ToJson() : ""             } );  var mongoQuery = ((MongoQueryable<InstrumentationDocument>)query).GetMongoQuery();  var json = mongoQuery.ToJson();   

Где <код> InstrumentationDocument есть

 <код> @IBAction func save(sender: AnyObject) {         var defaults: NSUserDefaults = NSUserDefaults.standardUserDefaults()         defaults.setObject(race, forKey: "race")     } 0  
Английский оригинал

How can I get the generated query from the LINQ query? I tried this but it didnt work:

var query = (             from d in mcollection.AsQueryable<InstrumentationDocument>()             where d.user == User && d.timestamp > DateTime.Today.AddDays(-days)             orderby d.timestamp descending             select new             {                 d.timestamp,                 d.machine,                 d.processID,                 feature = d.info["feature"].AsString,                 extra = d.info.Contains("extra") ? d.info["extra"].ToJson() : ""             } );  var mongoQuery = ((MongoQueryable<InstrumentationDocument>)query).GetMongoQuery();  var json = mongoQuery.ToJson(); 

where InstrumentationDocument is

class InstrumentationDocument {     [BsonId]     public ObjectId _id { get; set; }      [BsonDateTimeOptions(Kind = DateTimeKind.Local)]     public DateTime timestamp { get; set; }      public string user { get; set; }     public string machine { get; set; }     public int processID { get; set; }     public BsonDocument info { get; set; } } 
</div
     
   
   

Список ответов

1
 
vote
vote
Лучший ответ
 

Вам нужно удалить .Toarray () из вашего кода. В настоящее время запрос не является мондоберенным экземпляром. Это массив анонимных типов. Следовательно, ваш ликвидность в MongoQueryable не должен работать.

 

You need to remove .ToArray() from your code. Currently, query is NOT a MongoQueryable instance. It is an array of anonymous types. Hence, your cast to MongoQueryable should NOT be working.

</div
 
 
 
 
0
 
vote

Это намного проще в последней версии MongoDB (v2.6), просто позвоните <код> Content1 на запросе LINQ, затем распечатайте строку запроса к консоли.

 <код> Content2  
 

Its much simpler in the latest version of MongoDB (v2.6), just call .ToJson() on the LINQ query, then print the query string to the console.

string queryTextSentToMongoDb = query.ToJson(); 
</div
 
 
 
 

Связанный проблема

3  Представление строки в C #  ( String representation in c sharp ) 
IM TRING, чтобы взять на себя текст из существующей веб-страницы, используя этот метод: <код> try { WebClient client = new WebClient(...

1  Включить первый случай исключений для определенного куска кода  ( Enable first chance exceptions for specific piece of code ) 
Мне нужна Visual Studio, чтобы бросить первые шансы исключения только для определенного класса. Если я включаю первый случай исключения в Visual Studio, он ...

0  Ошибка структуры объекта: ошибка загрузки указанного ресурса метаданных  ( Entity framework error error loading specified metadata resource ) 
Я знаю, что это известная проблема, но решение для моего случая не в других вопросах, я думаю. У меня есть проект в C #. В этом проекте у меня есть мой EDMX...

5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута  ( Best practices to scan all classes and methods for custom attribute ) 
Впервые я действительно должен был сделать сканирование сборки вручную. Я столкнулся с C # - Как перечислять все классы с атрибутом пользовательского класса?...

1  Как довольно печатать метод итератора  ( How to pretty print the iterator method ) 
Я хочу получить имя метода со своими аргументами метода итератора и я борюсь, чтобы найти простое решение. Итераторы генерируются компилятором в результате. И...

-2  Гольф HCP Calculator  ( Golf hcp calculator ) 
Я работаю над программой в ASP.NET MVC, где моя цель - сделать показатель для гольфа. в Golf у каждого игрока есть гандикап, который дает им ряд дополнитель...

0  Как нарисовать в автономном режиме круг 1500 метров в диапазоне Geocoordinate в Windows Phone 8  ( How to draw offline circle of 1500 meters range over the geocoordinate in window ) 
Я хочу нарисовать автономный круг над геокоординаном в Windows Phone Этот круг составляет 1500 метров, и он ищет цель в этом диапазоне это мой образ, где у...

2  Высевание многих для многих кода EF первые отношения  ( Seeding many to many ef code first relationship ) 
Есть несколько других сообщений по этой теме, которую я видел, но я не смог получить правильный ответ еще (моя собственная вина, я уверен), но я хочу сеять ба...

2  C #, Linq2SQL - трюки для получения объекта ViewModel с данными соотношения?  ( C linq2sql tricks to fetch a viewmodel object with relation data ) 
Я не знаю linq2sql так хорошо, и мне было интересно, есть ли трюк для этого, вероятно, общий сценарий MVVM. У меня есть контекст данных Linq2SQL, содержащий м...

0  Как бы я пошел на рисование в программе краски с чувствительностью давления?  ( How would i go about drawing in a paint program with pressure sensitivity ) 
Я пишу программу краски в родах, используя C # .NET / WinForms и чувствительность к давлению является обязательным. У меня все настроено и получаю информацию ...

4  Создайте VCARD, который можно скачать на Android с помощью ASP.NET  ( Generate vcard that can be downloaded on android using asp net ) 
Я пробую довольно некоторое время, чтобы сгенерировать VCARD, используя ASP.NET (C #), которые можно загрузить на устройство Android. Процесс генерации карт...

1  Разница между несколькими наследованиями и интерфейсами в C #  ( Difference between multiple inheritance and interfaces in c sharp ) 
делает C # действительно поддерживать многократное наследование. Люди говорят, что он поддерживает многократное наследование в виде интерфейсов? Но я не думаю...

0  Очистите DataTable в петле Перемещение используемых элементов к двум другим источникам данных [дубликат]  ( Clean a datatable in a loop moving used items to two other datatables ) 
<в сторону CLASS = "S-NEWACTS S-WELTIVE__info JS-Post-New Imide MB16« Роль = «Статус»> Этот вопрос уже имеет ответ здесь : ...

2  Обработка ошибок в свойствах, я знаю, что это плохо, нужно исправить, хотя  ( Error handling in properties i know its bad need fix though ) 
Я знаю свою плохую практику, чтобы поставить обработку ошибок в свойствах, я просто хочу знать , где я должен положить ошибку обработки ошибок. Я знаю, что з...

5  Сделать структуру сущности быть нечувствительными к регистру  ( Make entity framework be case insensitive ) 
Возможно ли установить корпус строки структуры объекта нечувствителен по умолчанию? Если я использую <код> string.StartsWith("stringToCompare", StringComp...

Связанный проблема

3  Представление строки в C # 
1  Включить первый случай исключений для определенного куска кода 
0  Ошибка структуры объекта: ошибка загрузки указанного ресурса метаданных 
5  Лучшие практики для сканирования всех классов и методов для пользовательского атрибута 
1  Как довольно печатать метод итератора 
-2  Гольф HCP Calculator 
0  Как нарисовать в автономном режиме круг 1500 метров в диапазоне Geocoordinate в Windows Phone 8 
2  Высевание многих для многих кода EF первые отношения 
2  C #, Linq2SQL - трюки для получения объекта ViewModel с данными соотношения? 
0  Как бы я пошел на рисование в программе краски с чувствительностью давления? 
4  Создайте VCARD, который можно скачать на Android с помощью ASP.NET 
1  Разница между несколькими наследованиями и интерфейсами в C # 
0  Очистите DataTable в петле Перемещение используемых элементов к двум другим источникам данных [дубликат] 
2  Обработка ошибок в свойствах, я знаю, что это плохо, нужно исправить, хотя 
5  Сделать структуру сущности быть нечувствительными к регистру