LINQ to SQL数组总是返回第一项?

时间:2009-07-17 13:28:13

标签: linq arrays

我正在使用LINQ to SQL。我的数据库有3列Ref,Due_amount,Due_Date。 例如,数据可能如下所示。

  

10 02/08/2009 00:00:00 175.0000
  10 02/09/2009 00:00:00 175.0000
  10 02/10/2009 00:00:00 175.0000
  10 02/11/2009 00:00:00 175.0000
  10 02/12/2009 00:00:00 175.0000
  10 02/01/2010 00:00:00 175.0000

我的代码如下,返回6个元素并且有效,但日期始终是02/08/2009?如果我说将第2行的数量更改为150.0000然后返回正确的日期02/09/2009? 有什么想法吗?

private static void PopulateInstalments(string Ref, ResponseMessage responseMsg)
        {
            using (DAO dbContext = new DAO())
            {
                IEnumerable<profile> instalments = (from instalment in dbContext.profile
                                                    where instalment.ref == Ref
                                                    select instalment);

                foreach (profile instalment in instalments)
                {
                    if (responseMsg.Instalments == null)
                        responseMsg.Instalments = new ArrayOfInstalments();
                    Instalment tempInstalment = new Instalment();

                    tempInstalment.DueAmount = instalment.Due_amount;
                    tempInstalment.DueDate = instalment.Due_date == null ? "" : instalment.Due_date.ToString();

                    responseMsg.Instalments.Add(tempInstalment);                    
                }
                            }
        }

由于 理查德

1 个答案:

答案 0 :(得分:0)

确保在源中设置主键列(在本例中为SQL Server数据库)