|
.Disconnect();
throw;
}
}
}
#endregion
#region 更新操作
///
/// 更新操作
///
///
///
public void Update(T t, Expression> func)
{
using (Mongo mongo = new Mongo(configuration))
{
try
{
mongo.Connect();
var db = mongo.GetDatabase(databaseName);
var collection = db.GetCollection(collectionName);
collection.Update(t, func, true);
mongo.Disconnect();
}
catch (Exception)
{
mongo.Disconnect();
throw;
}
}
}
#endregion
#region 获取集合
///
///获取集合
///
///
///
public List List(int pageIndex, int pageSize, Expression> func, out int pageCount)
{
pageCount = 0;
using (Mongo mongo = new Mongo(configuration))
{
try
{
mongo.Connect();
var db = mongo.GetDatabase(databaseName);
var collection = db.GetCollection(collectionName);
pageCount = Convert.ToInt32(collection.Count());
var personList = collection.Linq().Where(func).Skip(pageSize * (pageIndex - 1))
.Take(pageSize).Select(i => i).ToList();
mongo.Disconnect();
return personList;
}
catch (Exception)
{
mongo.Disconnect();
throw;
}
}
}
#endregion
#region 读取单条记录
///
///读取单条记录
///
///
///
public T Single(Expression> func)
{
using (Mongo mongo = new Mongo(configuration))
{
try
{
mongo.Connect();
var db = mongo.GetDatabase(databaseName);
var collection = db.GetCollection(collectionName);
var single = collection.Linq().FirstOrDefault(func);
mongo.Disconnect();
return single;
}
catch (Exception)
{
mongo.Disconnect();
throw;
}
}
}
#endregion
#region 删除操作
///
/// 删除操作
///
///
///
public void Delete(Expression> func)
{
using (Mongo mongo = new Mongo(configuration))
{
try
{
mongo.Connect();
var db = mongo.GetDatabase(databaseName);
var collection = db.GetCollection(collectionName);
//这个地方要注意,一定要加上T参数,否则会当作object类型处理
//导致删除失败
collection.Remove(func);
mongo.Disconnect();
}
catch (Exception)
{
mongo.Disconnect();
throw;
}
}
}
#endregion
}
#region 数据实体
///
/// 数据实体
///
public class Person
{
[MongoAlias("_id")]
public string ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
public DateTime CreateTime { get; set; }
}
#endregion
}
wow,趁着3天的休假,不断的努力终于把这个系列写完了,很感谢一直关注此系列的朋友
|