Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net mongodb是否有类似的实体框架替代品?_.net_Mongodb_Entity Framework_Odata - Fatal编程技术网

.net mongodb是否有类似的实体框架替代品?

.net mongodb是否有类似的实体框架替代品?,.net,mongodb,entity-framework,odata,.net,Mongodb,Entity Framework,Odata,我正在使用.Net+Mongodb设置ODataV4API 从中,实体框架被用作数据访问层。但看起来它对mongodb不起作用。是否有任何EF的替代品可以与mongo db一起使用?这完全取决于您希望EF在MongoDB中包含哪些功能,最常见的事情之一是能够使用Linq,因为您提到了使用Linq的OData,我将解释这一点 使用标准mongodb驱动程序(),您可以执行以下操作来公开集合上的IQueryable对象: var mongoClient = new MongoClient(); va

我正在使用.Net+Mongodb设置ODataV4API


从中,实体框架被用作数据访问层。但看起来它对mongodb不起作用。是否有任何EF的替代品可以与mongo db一起使用?

这完全取决于您希望EF在MongoDB中包含哪些功能,最常见的事情之一是能够使用Linq,因为您提到了使用Linq的OData,我将解释这一点

使用标准mongodb驱动程序(),您可以执行以下操作来公开集合上的
IQueryable
对象:

var mongoClient = new MongoClient();
var mongoDatabase = mongoClient.GetDatabase("test");
var mongoCollection = mongoDatabase.GetCollection<Person>("users");

var over18 = await mongoCollection.AsQueryable()
    .Where(x => x.Age >= 18)
    .Select(x => x.Name)
    .ToListAsync();

class Person
{
    public ObjectId Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}
var mongoClient=new mongoClient();
var mongoDatabase=mongoClient.GetDatabase(“测试”);
var mongoCollection=mongoDatabase.GetCollection(“用户”);
var over18=等待mongoCollection.AsQueryable()
.其中(x=>x.年龄>=18)
.选择(x=>x.Name)
.ToListAsync();
班主任
{
公共对象Id{get;set;}
公共字符串名称{get;set;}
公共整数{get;set;}
}

有一个开源项目,名为

MongoDB的“实体框架”式接口

如果您正在寻找一个外观和行为类似于实体框架但与MongoDB一起工作的ORM,这可能就是您想要的