Источник данных объекта.Добавить новую запись.Как «искать» первым, чтобы увидеть, если там раньше - PullRequest
0 голосов
/ 09 марта 2012

Новое с ЭЦП.VWD 2011.

Добавление автомобилей в файл моего автомобиля.PK - это номер компании (символ 5) и код транспортного средства (символ 15).Использование подробного представления только с основными ключами и определением источника данных источника и работа с datakeynames.

В событии вставки EDS я хочу зайти в файл и посмотреть, есть ли то, что введено, там первым.Это добавляет идеально, если новый код, и, конечно, бомбы являются дубликатами.

Старый программист Visual Fox, только учусь этому.EDS уже открыта с правильным файлом в базе данных и всем ... возможно, если я выполню условие count () "где", и если 0, возможно, новое ... Я действительно просто хочу какой-нибудь foxpro SEEK COMPANYNUMBER + VEHCODE и еслине там, позвольте добавить ...

Спасибо за любой вклад.Это 2:19 утра ... весело учить себя чему-то новому ... много часов .. Фрэнк С:)

1 Ответ

0 голосов
/ 09 марта 2012

Вы «можете» выйти и проверить, существует ли запись, и затем добавить ее, только если ее нет; возможно, лучший способ - это создать уникальный индекс для этой комбинации полей, чтобы было невозможно сохранить дубликаты записей, а затем позволить EF сообщить вам, когда не удалось сохранить изменения. Это не позволит вам делать два вызова к БД при каждой попытке вставки.

Пример:

    try
{
    if (ModelState.IsValid)
    {
        db.Vehicles.Add(vehicle);
        db.SaveChanges();
    }
}
catch (DataException)
{
    //Log the error (add a variable name after DataException)
    ModelState.AddModelError("", "Unable to save changes. Try again, and if the problem persists see your system administrator.");
} 
...