ASP.NET LINQ (C #) ОБНОВЛЕНИЕ СИНТАКСА - PullRequest
0 голосов
/ 19 января 2012

Я использую LINQ to Entities в приложении ASP.NET C #.Приведенный ниже код является моей попыткой обновить (или сбросить) значение AvgRideTime в моей базе данных sql до нуля.Однако, похоже, ничего не происходит, нет ошибок, просто ничего.Есть мысли?

protected void ResetAvgRT_Click(object sender, EventArgs e)
        {
            using (RamRideOpsEntities myEntities = new RamRideOpsEntities())
            {
                var avgTime = (from a in myEntities.AdminOptions
                               select a.AvgRideTime).First();

                if (avgTime != null)
                {
                    avgTime = null;
                    myEntities.SaveChanges();
                }
            }
        }

Ответы [ 4 ]

1 голос
/ 19 января 2012

avgTime это ссылка на объект, и когда вы устанавливаете avgTime = null, avgTime отсутствует ссылка на объект, но myEntities.AdminOptions содержит этот объект.

1 голос
/ 19 января 2012
var avgTime = myEntities.AdminOptions.First();

            if (avgTime != null)
            {
                avgTime.AvgRideTime = null;
                myEntities.SaveChanges();
            }

Попробуйте приведенный выше код.

0 голосов
/ 19 января 2012

Попробуйте следующий код

protected void ResetAvgRT_Click(object sender, EventArgs e)
{
    using (RamRideOpsEntities myEntities = new RamRideOpsEntities())
    {
        var avgTime = (from a in myEntities.AdminOptions
                           select a).First();
        if (a.avgTime != null)
        {
            a.avgTime = null;
            myEntities.Entry(a).State = EntityState.Modified;
            myEntities.SaveChanges();
        }
    }
}
0 голосов
/ 19 января 2012

Возможно, avgTime получает нулевое значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...