按照给定的资料库界面:ASP.NET MVC实体框架,最新添加的项目越来越标识
public interface IRepository<T> where T : class
{
void Add(T entity);
void Save();
}
而且我们说具体的库:
public ConcreteRepository : IRepository<Something>
{
void Add(Something entity)
{
_context.Somethings.Add(entity);
}
void Save()
{
_context.SaveChanges();
}
}
我必须得到最新的项目Id
插入到数据库中。我需要这样做,因为在用户发布表单后我的应用中,我想将他重定向到新创建的项目。
我首先想到的是只是简单从Add(T entity)
方法返回entity.Id
,但我意识到这是不可能的,因为我可以得到它发生在另一种方法Id
SaveChanges()
后只。
我觉得这是没有意义的调用SaveChanges()
我Add()
方法,因为在现实生活中的例子库中含有较多的方法,例如Edit()
,然后我的一些方法会而其他不叫Save()
自己?听起来对我来说不是一个好主意。
什么是一个优雅的方式来实现我所需要的?