【发布时间】:2017-01-20 08:28:16
【问题描述】:
我正在开发一个外部 .dll,我的 Epicor ERP 在 BPM 的前/后处理中调用它。 .dll 是用 C# 编写的,Epicor 将 .dll 传递给一个数据集。
我看到过更改行或 FirstOrDefault 但不能同时更改的代码示例。
此代码始终为空,因此我的操作永远不会被调用。
var ttQuoteDtl = ds.QuoteDtl.Where(r => r.RowMod == IceRow.ROWSTATE_ADDED || r.RowMod == IceRow.ROWSTATE_UPDATED || r.RowMod == IceRow.ROWSTATE_DELETED);
var ttQuoteDtl_xRow = (from ttQuoteDtl_Row in ttQuoteDtl select ttQuoteDtl_Row).FirstOrDefault();
if (ttQuoteDtl_xRow != null)
{
//Do Something
}
如果我这样称呼它,我可以让 ttQuoteDtl 不为空并执行一些工作:
var ttQuoteDtl_xRow = ds.QuoteDtl.FirstOrDefault();
但我担心它不会是已添加、更新或删除的行。
【问题讨论】:
-
第一条语句执行后
ttQuoteDtl是否为空? -
附注
(from ttQuoteDtl_Row in ttQuoteDtl select ttQuoteDtl_Row)什么都不做,可以换成ttQuoteDtl。
标签: c# linq dataset datarow epicorerp