我有一个程序需要保存实体对象.问题是我不知道这个实体是否附加到我的datacontext.为了解决这个问题,我使用以下代码:
try
{
db.ClientUsers.Attach(clientUser);
db.Refresh(RefreshMode.KeepCurrentValues, clientUser);
}
catch { }
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种更好的方法来检测一个实体是否属于一个上下文,并测试一个实体是否附加到一个特定的上下文.
Mar*_*ell 22
我想知道...... GetOriginalEntityState
对于非附着物体的回报是什么?即使它抛出异常,它也可能比刷新更快......
(更新) - 测试显示它返回null:
Customer cust = new Customer();
Customer orig = ctx.Customers.GetOriginalEntityState(cust);
Assert.IsNull(orig);
cust = new Customer();
ctx.Customers.Attach(cust);
orig = ctx.Customers.GetOriginalEntityState(cust);
Assert.IsNotNull(orig);
Assert.AreNotSame(cust,orig);
Run Code Online (Sandbox Code Playgroud)
所以也许使用GetOriginalEntityState
并检查null返回值...
归档时间: |
|
查看次数: |
4559 次 |
最近记录: |