Как установить Auto-Generated-Values и Auto-Sync с SQL Metal или в коде
Сейчас 1:30 утра для меня, поэтому я извиняюсь, если здесь есть какие-то запутанные моменты... это, кажется, имеет смысл в моей голове..:-)
Я использовал SQLMetal для создания контекста данных для моих таблиц базы данных...
Я использовал команду:
sqlmetal.exe /server:dbsvr\sqlexpress /database:"TestDB" /user:sa /password:password /namespace:DB_Data /context:DBDataContext /code:DBDataContext.cs /map:DB.map
Все это прекрасно работает, я могу выполнять все функции CRUD на своих столах и т. Д., Ну почти…
У меня есть таблица "заголовка", которая имеет поле типа "uniqueidentifier"... когда я вставляю новую запись, я хочу, чтобы база данных присвоила значение записи и чтобы моя запись таблицы заголовков была обновлена с новым guid из базы данных. на данный момент любая новая запись, которую я добавляю в таблицу, имеет все нули для поля id guid... поэтому, когда я пытаюсь добавить вторую запись, происходит сбой с дублирующим ключом.
В поисках ответа я наткнулся на этот пост: столбец GUID SQL Server 2008 - все 0
Здесь упоминается установка "Auto Generated Values" и "Auto Sync" на "True" и "OnInsert" соответственно в dbml.
Моя проблема в том, что у меня нет файла dbml, потому что он не был создан при запуске команды SQLMetal. Вместо этого я использовал параметры генерации файла.map. Я понимаю, что есть флаг "/ dbml", но я не знаю, какой использовать..
Должен ли я использовать файл dbml вместо или вместе с файлом карты???
Или есть способ, которым в коде, когда я создаю новую переменную записи заголовка, я могу просто сказать что-то вроде следующего, чтобы сказать системе использовать сгенерированное значение идентификатора БД и обновить мою переменную записи....: recHdr.Id.AutoGeneratedVales = True; recHdr.Id.AutoSync = OnInsert;
Большое спасибо...