Ошибка CS0103, когда переменная действительно находится в нужной области видимости - PullRequest
1 голос
/ 16 января 2020

У меня есть этот элемент управления (db - это контекст Entity Framework):

if (db.Sites.Any(s => s.Name.Equals(name))) throw new NameAlreadyInUseException(name);

Когда я запускаю свои тесты и отлаживаюсь, он не дает ошибку:

Error CS0103: the name 's' does not exist in the current context.

Я, честно говоря Я не могу разобраться с этим, и Google на самом деле не помогает ... любая помощь приветствуется, спасибо заранее. Не правильно ли используется здесь? (Я все еще учусь, так что, возможно, я что-то пропустил, но мой код здесь выглядит нормально для меня)

Edit: отладчик вызывает ошибку в этой строке, и я не использую s в любом другом месте, кроме как внутри что если заявление. (Я отредактировал строку, чтобы показать, что происходит с if)

Edit2: полный код функции

public void CreateSiteOnDb(string connectionString, string name, int timezone, int sessionExpirationTimeInSeconds,
            double minimumBidIncrement)
        {
            CheckInput_CreateSiteOnDb(connectionString, name, timezone, sessionExpirationTimeInSeconds, minimumBidIncrement);

            try
            {
                using (var db = new AuctionSiteContext(connectionString))
                {
                    if (db.Sites.Any(s => s.Name.Equals(name))) throw new NameAlreadyInUseException(name);

                    var site = new Entities.Site
                    {
                        Name = name,
                        Timezone = timezone,
                        MinimumIncrement = minimumBidIncrement,
                        SessionExpirationInSeconds = sessionExpirationTimeInSeconds
                    };

                    db.Sites.Add(site);
                    db.SaveChanges();
                }
            }
            catch(NameAlreadyInUseException)
            {
                throw;
            }
            catch(Exception)
            {
                throw new UnavailableDbException();
            }
        }

Edit3: ошибка, как показано при отладке

screenshot from visual studio showing error during debugging

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