C# 在实体中插入数据2次
很抱歉,这一定是个新手问题,但我没有找到任何解决方案,而且这个问题持续了两个小时。 我有以下代码:C# 在实体中插入数据2次,c#,entity-framework,linq,linq-to-entities,C#,Entity Framework,Linq,Linq To Entities,很抱歉,这一定是个新手问题,但我没有找到任何解决方案,而且这个问题持续了两个小时。 我有以下代码: foreach (Stock s in queryStocks) { int checkTimeCount; checkTimeCount = (from ph in entity.StockPriceHistories where ph.StockStockId == s.StockId orderby p
foreach (Stock s in queryStocks)
{
int checkTimeCount;
checkTimeCount = (from ph in entity.StockPriceHistories
where ph.StockStockId == s.StockId
orderby ph.StockPriceHistoryDate descending
select ph.StockPriceHistoryDate).Count();
if (checkTimeCount != 0)
{
var checkTimeStock = (from ph in entity.StockPriceHistories
where ph.StockStockId == s.StockId
orderby ph.StockPriceHistoryDate descending
select ph.StockPriceHistoryDate).First();
string checkTimeStringStock = checkTimeStock.ToShortDateString();
if (dateNow != checkTimeStringStock)
{
StockPriceHistory ph = new StockPriceHistory();
ph.StockPriceHistoryDate = DateTime.Now;
ph.StockStockId = s.StockId;
ph.Value = s.Value;
entity.StockPriceHistories.Add(ph);
}
}
else
{
StockPriceHistory ph = new StockPriceHistory();
ph.StockPriceHistoryDate = DateTime.Now;
ph.StockStockId = s.StockId;
ph.Value = s.Value;
entity.StockPriceHistories.Add(ph);
}
}
// Submit the changes to the database.
#region SaveChangesDB
try
{
entity.SaveChanges();
}
catch
{
// Provide for exceptions.
}
#endregion
这一次插入ph(股票价格历史模型)两次。我只想插入一个。。。我真的不明白为什么。让我发疯了
提前谢谢,再次为这个问题和我糟糕的英语道歉
阿德里安
在评论1后编辑:
我看不到重复的,或者我遗漏了什么?第一个是stockid为1的股票,第二个是stockid为2的股票。
以下是QueryStock(如果有帮助):
var queryStocks=来自实体中的s。股票选择s;//把所有的股票都存入数据库
谢谢你的快速回答
编辑2:
插入结果和日期格式
日期格式:“2016年2月18日”(dateNow和checkTimeStringStock)
编辑3:
该查询如何可能从EDIT 2屏幕截图上的表返回2个结果
编辑4:我的不好,计数是可以的,因为我在一个foreach那是noob。
这个foreach在另一个foreach中(Portofolio…),我有2个Portofolio,所以这个结果是正常的
foreach (Portofolio ord in query)
{
...
foreach (Stock x in queryStockValue)
{
现在一切正常。queryStocks中是否存在重复项?您应该一步一步地检查它,并查看它在何处插入了两次。。否则我会选择@stuartd,肯定会有重复的。谢谢你的回答,但我还是很傻,编辑了我的帖子来添加一些信息