private static void ApplyChanges<TEntity>(TEntity root) where TEntity : class, IObjectWithState
{
using (var context = new BreakAwayContext())
{
context.Set<TEntity>().Add(root);
CheckForEntitiesWithoutStateInterface(context);
foreach (var entry in context.ChangeTracker.Entries<IObjectWithState>())
{
IObjectWithState stateInfo = entry.Entity;
entry.State = ConvertState(stateInfo.State);
if (stateInfo.State == State.Unchanged)
{
var databaseValues = entry.GetDatabaseValues();
entry.OriginalValues.SetValues(databaseValues);
}
}
context.SaveChanges();
}
}
我正在阅读一本关于实体框架的书,并面对如上所述的功能声明。 正如我的理解; where子句定义TEntity的类型。因此,如果我们选择定义TEntity的类型,为什么不使用强类型参数而不是使用泛型?
我错过了什么吗?什么是用于此类声明的术语?