我正在尝试向MongoDB写一个LINQ查询:
using MongoDB.Driver;
using MongoDB.Driver.Linq;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
var client = new MongoClient ("");
var db = client.GetDatabase("");
var coll = db.GetCollection<string>("");
var x =
from x in coll.AsQueryable()
select x;
}
}
}
我遇到了这个错误:
错误CS1061:
MongoDB.Driver.IMongoCollection<string>
没有 包含AsQueryable
的定义,没有扩展方法AsQueryable
接受第一个类型的参数 可以找到MongoDB.Driver.IMongoCollection<string>
(是你吗? 缺少using指令或程序集引用?)
packages.config:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="MongoDB.Bson" version="2.0.1" targetFramework="net45" />
<package id="MongoDB.Driver" version="2.0.1" targetFramework="net45" />
<package id="MongoDB.Driver.Core" version="2.0.1" targetFramework="net45" />
</packages>
答案 0 :(得分:1)
API在2.x中发生了变化。它在1.x驱动程序(NuGet上的Legacy驱动程序)中可用。如果你想使用它,你会这样做:
var client = new MongoClient ();
var server = client.GetServer();
var db = server.GetDatabase("YourDb");
var coll = db.GetCollection<YourType>("YourCollection");
使用新的API我根本没有检查过Linq。我已经发现新的流畅API非常像Linq。
答案 1 :(得分:0)
2.0.1中不再支持此方法。要将此移动用于1.9.x。
答案 2 :(得分:0)