C# 将实体附加到数据上下文
在LINQtoSQL中,在尝试附加实体之前,是否可以检查该实体是否已经是数据上下文的一部分 一点背景,如果有帮助的话 我的global.asax中有这段代码作为助手方法。通常,在请求之间,这不是问题。但是在登录之后,会多次调用它,第二次我尝试将成员对象附加到创建它的同一工作单元中C# 将实体附加到数据上下文,c#,linq-to-sql,C#,Linq To Sql,在LINQtoSQL中,在尝试附加实体之前,是否可以检查该实体是否已经是数据上下文的一部分 一点背景,如果有帮助的话 我的global.asax中有这段代码作为助手方法。通常,在请求之间,这不是问题。但是在登录之后,会多次调用它,第二次我尝试将成员对象附加到创建它的同一工作单元中 private void CheckCurrentUser() { if (!HttpContext.Current.User.Identity.IsAuthenticated) { A
private void CheckCurrentUser()
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
AppHelper.CurrentMember = null;
return;
}
IUserService userService = new UserService();
if (AppHelper.CurrentMember != null)
userService.AttachExisting(AppHelper.CurrentMember);
else
AppHelper.CurrentMember = userService.GetMember(
HttpContext.Current.User.Identity.Name,
AppHelper.CurrentLocation);
}
我相信有两种方法可以做到这一点
DataContext.TableName.Contains(Item)
或者我们使用id字段。如果该项插入到数据库中,则将为其分配一行
if(Item.id == 0)
DataContext.Insert(Item)
else
DataContext.Update(Item)
与其附加到新的数据上下文,为什么不在新的数据上下文中重新查询对象呢?它认为这是一种更可靠、无状态的策略