.net 如何检查对象是否附加到ObjectContext?
我需要将EF对象(以前分离)附加到新的ObjectContext。问题是,我不知道它之前是否已连接或加载。如果有一个对象具有加载到ObjectContext的相同键,则在尝试附加时会出现异常。有没有办法检查是否存在已附加特定密钥的对象.net 如何检查对象是否附加到ObjectContext?,.net,entity-framework,.net,Entity Framework,我需要将EF对象(以前分离)附加到新的ObjectContext。问题是,我不知道它之前是否已连接或加载。如果有一个对象具有加载到ObjectContext的相同键,则在尝试附加时会出现异常。有没有办法检查是否存在已附加特定密钥的对象 谢谢 对象上下文中对象的状态由管理 来自MSDN: int orderId = 43680; using (AdventureWorksEntities context = new AdventureWorksEntities()) { Obje
谢谢 对象上下文中对象的状态由管理 来自MSDN:
int orderId = 43680;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
ObjectStateManager objectStateManager = context.ObjectStateManager;
ObjectStateEntry stateEntry = null;
var order = (from o in context.SalesOrderHeaders
where o.SalesOrderID == orderId
select o).First();
// Attempts to retrieve ObjectStateEntry for the given EntityKey.
bool isPresent = objectStateManager.TryGetObjectStateEntry(((IEntityWithKey)order).EntityKey, out stateEntry);
if (isPresent)
{
Console.WriteLine("The entity was found");
}
}
// The changes are tracked as they occur and the state of the object is Modified.
Console.WriteLine(context.ObjectStateManager.GetObjectStateEntry(newItem).State);
另见:
来自上一个MSDN链接:
int orderId = 43680;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
ObjectStateManager objectStateManager = context.ObjectStateManager;
ObjectStateEntry stateEntry = null;
var order = (from o in context.SalesOrderHeaders
where o.SalesOrderID == orderId
select o).First();
// Attempts to retrieve ObjectStateEntry for the given EntityKey.
bool isPresent = objectStateManager.TryGetObjectStateEntry(((IEntityWithKey)order).EntityKey, out stateEntry);
if (isPresent)
{
Console.WriteLine("The entity was found");
}
}
// The changes are tracked as they occur and the state of the object is Modified.
Console.WriteLine(context.ObjectStateManager.GetObjectStateEntry(newItem).State);
。。我想在您的情况下,这可能是一个缓存项
希望有帮助 对象上下文中对象的状态由管理 来自MSDN:
int orderId = 43680;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
ObjectStateManager objectStateManager = context.ObjectStateManager;
ObjectStateEntry stateEntry = null;
var order = (from o in context.SalesOrderHeaders
where o.SalesOrderID == orderId
select o).First();
// Attempts to retrieve ObjectStateEntry for the given EntityKey.
bool isPresent = objectStateManager.TryGetObjectStateEntry(((IEntityWithKey)order).EntityKey, out stateEntry);
if (isPresent)
{
Console.WriteLine("The entity was found");
}
}
// The changes are tracked as they occur and the state of the object is Modified.
Console.WriteLine(context.ObjectStateManager.GetObjectStateEntry(newItem).State);
另见:
来自上一个MSDN链接:
int orderId = 43680;
using (AdventureWorksEntities context =
new AdventureWorksEntities())
{
ObjectStateManager objectStateManager = context.ObjectStateManager;
ObjectStateEntry stateEntry = null;
var order = (from o in context.SalesOrderHeaders
where o.SalesOrderID == orderId
select o).First();
// Attempts to retrieve ObjectStateEntry for the given EntityKey.
bool isPresent = objectStateManager.TryGetObjectStateEntry(((IEntityWithKey)order).EntityKey, out stateEntry);
if (isPresent)
{
Console.WriteLine("The entity was found");
}
}
// The changes are tracked as they occur and the state of the object is Modified.
Console.WriteLine(context.ObjectStateManager.GetObjectStateEntry(newItem).State);
。。我想在您的情况下,这可能是一个缓存项
希望有帮助 是的,我有同样的想法,现在检查它是否能与POCO对象一起工作。是的,我有同样的想法,现在检查它是否能与POCO对象一起工作。