使用SQLite

时间:2017-09-08 20:35:01

标签: asp.net asp.net-mvc entity-framework sqlite

我正在尝试构建一个使用ASP.NET的Web应用程序,它显示与此类似的股票信息: https://www.google.com/finance?q=NASDAQ:AAPL 它将以文本和历史数据显示当前数据,就像谷歌一样。 话虽这么说,我目前的所有数据(EPS,P / E等)都将保存在一个模型中,我的所有历史数据(最多250天)都将在另一个模型中。 安排第二个模型的最佳方法有250列和一个密钥似乎是不合理的。是否最好有2列,一列用于外键,一列用于250天数据?我知道如果我想获得许多股票的历史数据,这将导致几千行,所以我想知道最好的方法是什么。

1 个答案:

答案 0 :(得分:0)

之前我做过非常相似的事情,我使用了2个不同的模型,一个用于库存详情,一个用于历史定价

当前报价(又名stockdetails模型)

public class stockdetails
    {
        public string symbol { get; set; }
        public decimal Ask { get; set; }
        public decimal AverageDailyVolume { get; set; }
        public decimal Bid { get; set; }
        public decimal AskRealtime { get; set; }
        public decimal BidRealtime { get; set; }
        public decimal BookValue { get; set; }
        public decimal Change_PercentChange { get; set; }
    // Rest omitted for brevity.

和一个历史数据

public class stockprices
    {
        public string symbol {get; set;}
        public DateTime TradeDate { get; set; }
        public decimal Open { get; set; }
        public decimal High { get; set; }
        public decimal Low { get; set; }
        public decimal Close { get; set; }
    }

然后你可以加入符号。祝你好运!

此外,还有一些网址可以帮助您提取与上面提供的2个示例非常相似的数据模型

string symbol = "MSFT";

string sYahooAPI = "https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.quotes%20where%20symbol%20in%20(%22" + symbol + "%22)&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=";

string sHistorical = "https://query1.finance.yahoo.com/v7/finance/download/" + symbol + "?period1=1502226354&period2=1504904754&interval=1d&events=history&crumb=lhLzYrrUZPX";

您可能会发现另一个有用的网址 - http://www.jarloo.com/yahoo_finance/