如何同步上次插入的项目
本文关键字:插入 项目 何同步 同步 | 更新日期: 2023-09-27 18:34:54
我尝试获取数据库上最后插入的项目,与Web API相关。我有一个代码来显示所有项目,它可以工作,但是如何使最后插入的项目与 Web API 同步,这是我的问题。这是我的代码
class Program
{
static HttpClient client = new HttpClient();
static void Main(string[] args)
{
client.BaseAddress = new Uri("http://localhost:1032");
GetAllItemMongoDB();
Console.ReadKey();
}
static async void GetAllItemMongoDB()
{
var jsonResponse = await client.GetStringAsync("api/Symboles");
var SymboleList = await JsonConvert.DeserializeObjectAsync<List<Symbole>>(jsonResponse);
foreach (var p in SymboleList)
{
Console.WriteLine("{0} {1} {2}", p.SymboleID, p.Name, p.Price);
}
}
}
这个想法是控制台应用侦听 Web API,当 ID 递增时将显示最后插入的项目,示例:
如果数据库有:1
件1 价格12
项目2 价格23
项目3 价格3
我插入了item4,应用程序显示"4 item4价格4">
thnx 到 #JᴀʏMᴇᴇ,我尝试使用此代码连续显示上次插入的项目。但是没有什么可显示的(我已经在数据库中添加了数据(
class Program
{
static HttpClient client = new HttpClient();
static void Main(string[] args)
{
client.BaseAddress = new Uri("http://localhost:1032");
GetAllItemMongoDB().Wait();
Console.ReadKey();
}
static async Task GetAllItemMongoDB()
{
var jsonResponse = await client.GetStringAsync("api/Symboles");
var SymboleList = await JsonConvert.DeserializeObjectAsync<List<Symbole>>(jsonResponse);
var mosRecentlyInserted = SymboleList.OrderByDescending(o => o.SymboleID).First();
while (true)
{
var newRecentlyInserted = SymboleList.OrderByDescending(o => o.SymboleID).First();
if (newRecentlyInserted.SymboleID > mosRecentlyInserted.SymboleID)
{
mosRecentlyInserted.SymboleID = newRecentlyInserted.SymboleID;
foreach (var p in SymboleList)
{
if(newRecentlyInserted.SymboleID >= p.SymboleID)
Console.WriteLine("{0} {1} {2}", p.SymboleID, p.Name, p.Price);
}
}
}
}
}
您可以使用
linq 获取具有最高 id 的项目,如下所示:
var mostRecentlyInserted = SymboleList.OrderByDescending(o => o.Id).First();
假设:
您已添加System.Linq
命名空间。
您的财产称为Id
。