我有以下属性:
public decimal PaidAmount { get; set; }
和以下与属性相关的函数:
var PreviousPaidAmount = _db.SEPayments.Where(v => v.Invoice == items).Select(c => c.PaidAmount).FirstOrDefault();
SEPayment del = _db.SEPayments.Where(a => a.Invoice == items).FirstOrDefault();
if (PreviousPaidAmount == null)
{
break;
}
else
{
PreviousPaidAmount = _db.SEPayments.Where(v => v.Invoice == items).Select(c => c.PaidAmount).FirstOrDefault();
var Paid = del.PaidAmount;
Paid -= PreviousPaidAmount;
_db.Entry(del).State = EntityState.Modified;
_db.SaveChanges();
}
我想将变量PreviousPaidAmount转换为可空类型的小数,而不对属性进行任何更改。我是初学者,任何帮助都会很感激
一种方法是将Select
调用更改为:
.Select(c => (decimal?)c.PaidAmount)
这将使Select
调用产生一个IEnumerable<decimal?>
,这意味着FirstOrDefault
将产生null
作为默认值,如您所愿。
请将var PreviousPaidAmount
写成decimal? PreviousPaidAmount
。
快乐编码:)