【发布时间】:2015-04-28 09:14:17
【问题描述】:
delete asp_testtable
where userid='XYZ'
and SL=12
and userAmount=13
地点:
-
asp_testtable是表名 -
userid是varchar类型的列 -
SL是bigint类型的列 -
userAmount是decimal类型的列
这是我遵循的三个步骤,但没有一个有效
第 1 步:
asp_testtable map = DBContext.asp_testtable.RemoveRange(DBContext.asp_testtable.Where(c => c.userid == tbuserid.Text.Trim() && c.SlNo == Convert.ToInt64(lbSlNo.Text.ToString()) && c.userAmount == Convert.ToInt16(ddluserAmount.SelectedValue.ToString()))).SingleOrDefault();
DBContext.asp_testtable.Remove(map);
第 2 步:
var y = (from x in asp_testtable where x.userid == tbuserid.Text.Trim() && x.SlNo == Convert.ToInt64(lbSlNo.Text) && x.userAmount == Convert.ToInt16(ddluserAmount.SelectedValue) select x.FeeMappingSlNo).First();
DBContext.asp_testtable.RemoveRange(y);
第三步:
feedetail = new asp_testtable()
{
userid = tbuserid.Text.Trim(),
SlNo = Convert.ToInt64(lbSlNo.Text),
userAmount = Convert.ToInt16(ddluserAmount.SelectedValue)
};
DBContext.asp_testtable.Remove(feedetail);
【问题讨论】:
-
请发布一些代码 - 例如。你试过什么?什么有效,什么无效?至少要付出一些努力来找出问题所在。
-
这是我尝试过的
asp_testtable map = DBContext.asp_testtable.RemoveRange(DBContext.asp_testtable.Where(c => c.userid == tbuserid.Text.Trim() && c.SlNo == Convert.ToInt64(lbSlNo.Text.ToString()) && c.userAmount == Convert.ToInt16(ddluserAmount.SelectedValue.ToString()))).SingleOrDefault();<br/> DBContext.asp_testtable.Remove(map); -
这确实需要扩展,我知道您正在尝试将一些 SQL 转换为用于实体框架;但该问题表明缺乏对 EF 和 stackoverflow 要求的思考和知识,请参阅:mattgemmell.com/what-have-you-tried 和 stackoverflow.com/help/how-to-ask,以熟悉社区希望看到问题所遵循的标准。
-
展示模型也是个好主意。
-
我建议将其添加到问题中