Linq To Sql: обрабатывать NewID () - PullRequest
3 голосов
/ 03 октября 2010

эй, я пытаюсь добавить данные в мой sqlserver с помощью Linq To Sql, в таблице, дизайн данных для получения NEWID () при вставке новой строки, но linq to sql игнорирует ее, а ячейка в null

спасибо!

1 Ответ

9 голосов
/ 03 октября 2010

Похоже, вы ожидаете, что значение guid будет автоматически сгенерировано для вас прямо во время вставки. Похоже, что этот столбец имеет DEFAULT из NewID().

В вашей модели LINQ To SQL перейдите к свойству таблицы, значение которой генерируется автоматически. Щелкните правой кнопкой мыши «Свойства» и убедитесь, что для атрибута Автоматически сгенерированное значение установлено значение «Истина». Это гарантирует, что сгенерированный оператор INSERT не будет содержать значение для этого атрибута таблицы.

alt text

Тогда вы сможете получить доступ к этому новому свойству со значением автогена по умолчанию, например:

Customer c = new Customer{FirstName="foo"};
db.Customers.InsertOnSubmit(c);
db.SubmitChanges();
string someGuid = c.MyGuidField.ToString();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...