如何使最后插入的项目同步

时间:2016-02-17 09:49:51

标签: c#

我尝试在DB上最后插入一个与Web API相关的Item。 我有一个代码来显示所有项目,它可以工作,但如何让最后插入的项目与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价格1
2项2价格2
3项3价格3
我插入了item4,应用程序显示“4 item4 price4”


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);
                }
            }
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以使用linq获取ID最高的项目,如:

var mostRecentlyInserted = SymboleList.OrderByDescending(o => o.Id).First();

<强>假设:

您已添加System.Linq命名空间。

您的财产名为Id

相关问题