C# 删除链接表中具有多个值的Id
我正在尝试执行一个删除操作,其中UserId属于一个链接表,该表具有用户可以属于的许多不同区域。 链接表有一个userAreaID和一个serviceAreaID,当我尝试从与userAreaID匹配的userID中删除时,它会说C# 删除链接表中具有多个值的Id,c#,asp.net,linq,C#,Asp.net,Linq,我正在尝试执行一个删除操作,其中UserId属于一个链接表,该表具有用户可以属于的许多不同区域。 链接表有一个userAreaID和一个serviceAreaID,当我尝试从与userAreaID匹配的userID中删除时,它会说序列包含多个…我已经做了一个查询LINQPad,它选择了我想要删除的内容,但无法在实际项目中正确执行 from t in Tbl_User where t.UserId == 21 select new { t.UserId, ServiceArea
序列包含多个…
我已经做了一个查询LINQPad
,它选择了我想要删除的内容,但无法在实际项目中正确执行
from t in Tbl_User
where t.UserId == 21
select new {
t.UserId,
ServiceArea = new {t.UserAreaTbl_UserServiceAreaDetails},
userInfo = new{t.UserName,t.Email}
}
我在查询上尝试了foreach,但它不可枚举。
我应该如何尝试实现这一点
这是我的整个查询,我将Deleted标志设置为True
var deleteRecord = (from t in db.tbl_UserServiceAreaDetails
where ((t.tbl_User.UserId == id) && (t.serviceAreaID == id))
)**** no method showing up?
if (deleteRecord != null)
{
deleteRecord.tbl_User.Deleted = true;
// Submit
// ======
db.SubmitChanges();
// Reload the Grid
// ===============
LoadGrid();
试试这个:
foreach (var dr in db.tbl_UserServiceAreaDetails.Where(t => (t.tbl_User.UserId == id) && (t.serviceAreaID == id)))
{
dr.tbl_User.Deleted = true;
}
您的意思是,表1的用户ID在表2、表3、表4中作为外键存在吗??或者,userId是用户表中的主键,并链接到Tbl_UserServiceAreaDetails中的userAreaID。它有一个searviceAreaID,可以是属于ServiceArea表的多个服务区域。
var deleteRecord=(来自db.tbl\u UserServiceAreaDetails中的t,其中(t.tbl\u User.UserId==id)&&(t.serviceAreaID==id)).
以上是我正在尝试的,但是.Single()
或任何方法都不会出现。您的没有显示任何方法是因为您的where
后面没有选择t