我正在尝试使用MongoDB构建MVC网站。我是MongoDB的新手。当我尝试将新数据插入集合时,它会抛出错误
输入参数' MongoDB.Bson.ObjectId'违反了类型参数' TTarget'。
的约束
我的插入代码如下...
center
我的IEntity界面如下所示
public void Add<T>(T item) where T : class, new()
{
_db.GetCollection<T>().Save(item);
}
我的实体类如下
public interface IEntity
{
[BsonId]
ObjectId Id { get; set; }
DateTime CreatedDate { get; set; }
DateTime LastModifiedDate { get; set; }
int UserId { get; set; }
bool IsActive { get; set; }
bool IsDelete { get; set; }
}
这是调用插入的代码...
public class Entity : IEntity
{
[BsonId]
public ObjectId Id { get; set; }
public DateTime CreatedDate { get; set; }
public DateTime LastModifiedDate { get; set; }
public int UserId { get; set; }
public bool IsActive { get; set; }
public bool IsDelete { get; set; }
}
为什么会出现违反约束的错误。我不懂。请帮忙......
答案 0 :(得分:2)
如果您插入新项目,则不应致电Save
,您应致电InsertOne
:
public void Add<T>(T item) where T : class, new()
{
_db.GetCollection<T>().InsertOne(item);
}