|
|
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Есть поле, первичный ключ Guid. Код: plaintext Использую ASP.NET Dynamic Data, которая сама добавляет записи. Guid всегда нулевой по дефолту. Выход, дописывать в дизайнере модели: Код: plaintext Но это не удобно, т.к. при обновлении модели приходится поправлять снова. Пробовал OnIDChanging - не помогает. Какие будут предложения? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 17:21 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Решил таким вот выпердом: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.07.2010, 18:07 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Андрей, а если в отруливать этим в отдельном partial классе, как это принято в DD? Ну что-то типа: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 09:52 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Хотя, я, кажется, понял Вашу ошибку. Вы забыли в БД поставить первичный ключ для Guid _ID. Тогда модель будет генерить правильный инсерт. Так же не забудьте указать ScaffoldColumn для Guid _ID. P.S. Хендлинг общего SavingChanges контекста очень нехорошее решение... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 10:20 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУАндрей, а если в отруливать этим в отдельном partial классе, как это принято в DD? Да, с Конструктором тоже вариант. Тут я не дотумкал. OnIDChanging - не помогает, это я уже писал. МСУХотя, я, кажется, понял Вашу ошибку. Вы забыли в БД поставить первичный ключ для Guid _ID. Тогда модель будет генерить правильный инсерт. ну мы тут тоже не щи лаптем хлебаем. МСУТак же не забудьте указать ScaffoldColumn для Guid _ID. [ScaffoldColumn(false)] - не руками же я их буду вбивать ) МСУP.S. Хендлинг общего SavingChanges контекста очень нехорошее решение... Why not? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 10:46 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Похоже это косяк ScaffoldColumn-а. Надо будет у авторов уточнить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 10:52 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
ScaffoldColumn "вбивается" руками и только ими. Во-вторых, это не косяк ScaffoldColumn, а косяк Ваш. Вы забыли указать первичный ключ, в результате чего получили кривую модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 10:59 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУScaffoldColumn "вбивается" руками и только ими. Во-вторых, это не косяк ScaffoldColumn, а косяк Ваш. Вы забыли указать первичный ключ, в результате чего получили кривую модель. никуя не понял. Я указал [ScaffoldColumn(false)]. Мне нах этой гуид не сдался для редактирования. Где я забыл указать первичный ключ? В БД что-ли? Я ж не совсем ламер. И почему внешние ключи в "кривой модели" чудесно работают? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:23 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУ, или ты хочешь сказать, что указав поле в БД как Первичный ключ, в Модели получим Код: plaintext Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:34 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredЯ указал [ScaffoldColumn(false)]. Мне нах этой гуид не сдался для редактирования. Всё правильно. При false его не будет. Ну так и где тут косяк с ScaffoldColumn? buredГде я забыл указать первичный ключ? В БД что-ли? Я ж не совсем ламер. Все могут что-то забыть, это свойственно человеку. buredИ почему внешние ключи в "кривой модели" чудесно работают? И почему у меня гуиды сами генерятся в DD, без педалей? Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Profiler trace Код: plaintext 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:34 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Дак он всегда @0='00000000-0000-0000-0000-000000000000' и будет! Я ж про это в первом посте писал! херасе подзатупил ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:37 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredМСУ, или ты хочешь сказать, что указав поле в БД как Первичный ключ, в Модели получим Код: plaintext Код: plaintext Вы действительно не понимаете нужность первичных ключей в DD? Тогда Вам в ясли P.S. Если не указать первичный ключ, Dynamic Data будет требовать маппинга в DefiningQuery или маппинга хранимых процедур в Insert, Update, Delete модели. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:37 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredДак он всегда @0='00000000-0000-0000-0000-000000000000' и будет! Я ж про это в первом посте писал! херасе подзатупил Глаза отказываются видеть Код: plaintext ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:38 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУ, ну чего там, вторую запись уже добавил? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:38 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredМСУ, ну чего там, вторую запись уже добавил? Не понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:39 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
а ты глянь в базу: какой гуидик вставился, не '00000000-0000-0000-0000-000000000000' случаем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:40 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredа ты глянь в базу: какой гуидик вставился, не '00000000-0000-0000-0000-000000000000' случаем? Нет, гуиды же генерит серв. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:41 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУ, но судя по профайлеру всё-таки '00000000-0000-0000-0000-000000000000' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:43 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
И вот хорошая новость - он таким будет всегда, если не допиливать руками модель. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:46 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredИ вот хорошая новость - он таким будет всегда, если не допиливать руками модель. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:48 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredИ вот хорошая новость - он таким будет всегда, если не допиливать руками модель. [MetadataType(typeof(TitlesMetadataType))] public partial class Titles { public Titles() { >>>Id = Guid.NewGuid();<<< } } public partial class TitlesMetadataType { [ScaffoldColumn(false)] public Guid Id { get; set; } } P.S. Каким-то случайным образом удалил я конструктор и запостил левую трассу профайлера. Сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:49 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУ ? расскажи подробнее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:49 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredИ вот хорошая новость - он таким будет всегда, если не допиливать руками модель. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. P.S. Каким-то случайным образом удалил я конструктор и запостил левую трассу профайлера. Сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:49 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУ, ну я про это и говорю. Если не допиливать модель, он всегда и будет '00000000-0000-0000-0000-000000000000' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:51 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
buredМСУ, ну я про это и говорю. Если не допиливать модель, он всегда и будет '00000000-0000-0000-0000-000000000000' Так модель я не допиливал. При перегенерации модели всё остается на своих местах. Это же отдельный partial класс, ёпта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:52 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
МСУburedМСУ, ну я про это и говорю. Если не допиливать модель, он всегда и будет '00000000-0000-0000-0000-000000000000' Так модель я не допиливал. При перегенерации модели всё остается на своих местах. Это же отдельный partial класс, ёпта. Йопта, я 2 таких же решения предложил в этом топике. Без частичных классов решений нет. Это баг. Будем теперь мудрствовать что есть модель ,а где нет? Увольте нах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:55 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Да уж, пипец, решение через хендлинг SavingChanges... Этот цикл будет срабатывать всегда, где надо и где ненадо. Увольтенах за такой код. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 11:57 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Судя по тому, что разговор стремительно уходит в сторону, ты уже не отрицаешь, что без дополнительных телодвижений Guid всегда будет '00000000-0000-0000-0000-000000000000'. Тема исчерпана. Спасибо за советы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 12:00 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Порадовало решение по сабжу :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 14:24 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 14:55 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Ну как решили-то, если не секрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 15:09 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
инициализировал в конструкторе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2010, 18:37 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Думал я что-то не так делаю, а у них оказывается бага, т.к. судя по MSDN все должно работать http://msdn.microsoft.com/ru-ru/library/dd283139.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 18:02 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
где-то тут на#балово авторEntity Framework поддерживает формируемые на сервере значения идентификаторов GUID, однако поставщик должен иметь возможность возвращать формируемые сервером значения идентификаторов после вставки строк.Начиная с версии SQL Server 2005, база данных SQL Server может возвращать формируемый сервером тип идентификатора GUID через предложение OUTPUT.Если поставщик не поддерживает эквивалент предложения OUTPUT, то значения GUID для новых объектов нужно формировать на стороне клиента.Для этого рекомендуется обрабатывать событие SavingChanges, чтобы новое значение GUID создавалось для любого объекта сущности в состоянии Added. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 18:17 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Да нет, все ровно: авторНачиная с версии SQL Server 2005, база данных SQL Server может возвращать формируемый сервером тип идентификатора GUID через предложение OUTPUT Т.е. наш поставщик, в моем случае SQL Server 2008 R2, может возвращать формируемый на сервере GUID в EF. Так что либо бага, либо хз что. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2010, 18:35 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
Блин... :( Как же можно быть таким не внимательным..... :( В edmx файле есть два раздела: edmx:StorageModels и edmx:ConceptualModels Вот в edmx:ConceptualModels стояло свойство annotation:StoreGeneratedPattern="Identity", а в edmx:StorageModels - нет. Как только поставил, так все заработало. Только в edmx:StorageModels надо прописывать без annotation: Пойду пить йад :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 06:05 |
|
||
|
Guid в Entity FrameWork ASP.NET Dynamic Data
|
|||
|---|---|---|---|
|
#18+
JOHN_PROFF, попробуем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2010, 09:20 |
|
||
|
|

start [/forum/topic.php?all=1&fid=17&tid=1351024]: |
0ms |
get settings: |
7ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
59ms |
get tp. blocked users: |
1ms |
| others: | 202ms |
| total: | 449ms |

| 0 / 0 |
