将 int 增加 1 的可枚举范围
本文关键字:枚举 范围 int 增加 | 更新日期: 2023-09-27 18:30:26
每次在我的数据库/表中创建新行时,我正在使用Enumerable.Range(1, 1).FirstOrDefault()
来尝试增加我的MKCRFQ
数1
。我正在使用 WCF 服务和 WPF 应用程序。
客户:
using (MKCServiceClient service = new MKCServiceClient())
{
await service.GetQuoteAsync(new QuoteData
{
...
MKCRFQ = Enumerable.Range(1, 1).FirstOrDefault(),
...
});
}
服务:
public QuoteResults CalculateResult(Database db, QuoteData data)
{
var result = new QuoteResults
{
Successful = false,
Data = data
};
var quote = new Quote
{
...
MKCRFQ = data.MKCRFQ,
...
};
result.Quote = quote;
result.Successful = true;
return result;
}
public void GetQuote(QuoteData data)
{
using (Database db = new Database())
{
var result = CalculateResult(db, data);
db.Quote.Add(result.Quote);
db.SaveChanges();
}
}
我的问题是每次我插入一行新数据时,添加的每个新行的MKCRFQ
号都是1
,我不知道如何在添加每增加一行时增加(+1)。这可能看起来很简单,但我以前从未这样做过,也不知道如何做。有人可以解释或告诉我这是如何完成的吗?
是的,我知道这不是一个好问题...但我自己想通了。它可能不是最好的编码或完整的证明,但它有效,我在这里发布这个,供任何可能需要参考我是如何做到的:)
这是我的服务编码,一切都发生在哪里:
public void GetQuote(QuoteData data)
{
using (Database db = new Database())
{
var result = CalculateResult(db, data);
byte[] pdfByte = (result.Data.PDF);
var pdf = new PDF { PDFbyte = pdfByte, CustomerId = result.Data.CustomerId };
db.PDF.Add(pdf);
//Here
int rfqLast = (from x in db.Quote where x.MKCRFQ != null orderby x.Id descending select x.MKCRFQ).Take(1).SingleOrDefault();
var rfqAdd = new Quote { MKCRFQ = rfqLast + 1 };
result.Quote.MKCRFQ = rfqAdd.MKCRFQ;
db.Quote.Add(result.Quote);
db.SaveChanges();
}
}