我正在尝试使用LINQPAD中的以下代码从CRM中名为xyz的实体中删除一行
var d = from z in xyz
where z.exch_ZipCode == "60069"
&& z.exch_zipcodeId.Value== new Guid("c6e88a07-b4a2-e211-b8d2-bc305befb465")
select new
{
zipId = z.exch_zipcodeId.Value,
zip = z.exch_ZipCode,
};
d.AsEnumerable().ToList().ForEach(row=>row.Delete());
我添加了System.Data.DataSetExtensions.dll,但是我收到以下错误
'AnonymousType#1'不包含'Delete'的定义,并且没有扩展方法'Delete'可以找到接受类型'AnonymousType#1'的第一个参数(按F4添加using指令或程序集引用)
答案 0 :(得分:1)
如果这是LinqToSql,那么要删除行,请使用DeleteOnSubmit或DeleteAllOnSubmit。
例如,如果要删除符合条件的xyz中的所有行,您可以执行以下操作:
var query = (from z in xyz
where z.exch_ZipCode == "60069"
&& z.exch_zipcodeId.Value== new Guid("c6e88a07-b4a2-e211-b8d2-bc305befb465")
select z);
xyz.DeleteAllOnSumit(query);
SubmitChanges();