Проблема с дублирующимися данными в C # - PullRequest
0 голосов
/ 28 сентября 2011

У меня проблемы с вставкой дубликатов данных в базу данных, я передаю неверный параметр в IEnumerable<Location>?

При отладке приложения никаких ошибок не возникает.

IEnumerable<Location> locations = context.Locations.Where(l => l.FacebookID == facebookID);

if (locations.Count() == 0)
{
    Location newLocation = new Location();

    newLocation.FacebookID = locationID;

    newLocation.Description = locationValue;

    IGeoCoder geoCoder = new GoogleGeoCoder(GoogleAPIKey);
    Address[] addresses = geoCoder.GeoCode(locationValue);

    if (addresses.Length > 0)
    {
        // Let's assume the first one is good enough
        Address address = addresses[0];

         newLocation.Latitude= address.Coordinates.Latitude.ToString();
         newLocation.Longitude = address.Coordinates.Longitude.ToString();
        // Use location.Latitude and location.Longitude

    }

    context.Locations.AddObject(newLocation);
    context.SaveChanges();
}

1 Ответ

4 голосов
/ 28 сентября 2011

Полагаю, вы не хотели этого делать:

newLocation.FacebookID = locationID;

А вот так:

newLocation.FacebookID = facebookID;

По сути, вы создаете несколько записей с одним и тем же идентификатором facebookId, поскольку вместо этого вы фактически использовали locationID.

...