添加实体时,实体框架中的表名错误
本文关键字:实体 错误 框架 添加 | 更新日期: 2023-09-27 17:49:23
我有表BookComments和FileComments。我有实体类BookComment和FileComment。
当我得到数据时,一切都很好。但当我尝试添加数据时,我得到错误。没有找到BooksComments表或FilesComments。我尝试使用TableAttribute类,但没有帮助我。
我使用实体框架6.1.3
如果我重命名表名从BookComments到BooksComment。我不能得到数据,得到错误
无效的对象名称dbo。BookComments
添加实体
public void AddEntity(T entity)
{
this.Entities.Add(entity);
}
protected IDbSet<T> Entities
{
get
{
return this._entities ?? (this._entities = this._context.Set<T>());
}
添加注释Book控制器类
public async Task<JsonResult> AddComment(int id, Comment comment)
{
try
{
CommentItem addComment = await Task.Run(() =>
{
var newcomment = this._booksService.AddComment(id, comment);
return AutoMapManager.GetMap<CommentItem, IComment>(newcomment);
});
return this.Json(new { Result = true, comment = addComment }, JsonRequestBehavior.AllowGet);
}
catch (Exception e)
{
return this.Json(new { Result = false, e.GetBaseException().Message }, JsonRequestBehavior.AllowGet);
}
}
}
<<p> BookService类/strong> public IComment AddComment<T>(int bookId, T item) where T : new()
{
var comment = AutoMapManager.GetMap<BookComment, T>(item);
comment.BookId = bookId;
this._commentRepository.AddEntity(comment);
this._commentRepository.SaveChanges();
return comment;
}
检查以确保SQL中的表名与模型具有相同的大小写敏感性。实体框架使用SQL(通常不区分大小写)进行查询…所以你可以找回数据。但是当您添加行时,EF使用CLR(区分大小写)来查找表实体。