ADO.NET Entity модель данных Позволяет Круговые иностранных Основные Refs

голоса
1

Я использую новую ADO.NET Entity Data Model на простой базе данных. У меня есть таблица / объект с первичным ключом (PageId) и внешний ключ ParentID, что ссылки обратно к себе на PageId для родителя / ребенка «0..1 ко многим» отношения. На странице ASP.Net, я использую FormView с осиной: DynamicControl выразить это в качестве контроля. Эта часть работает отлично за одну важную деталь, за исключением: Когда страница отображается список возможных родителей включает в себя, и установки элемента, чтобы иметь один из родителей сам по себе не вызывает каких-либо ошибок и сохраняет в базе данных. Очевидно, что иерархический объект не должен иметь родителя само по себе, так как ограничить это поведение?

Насколько я могу видеть, мои варианты:

  • Каким - то образом изменить ForeignKey _edit.ascx в DynamicData FieldTemplates. Это проблематично , потому что я не могу видеть , как получить ссылку на текущий субъект первичного ключ , чтобы удалить его из возможных внешних ключевых решений. Кроме того , это потенциально шланг любых неиерархического FKEY REFS использований , где ключи происходят столкнуться.

  • У некоторых PreRender козни на странице, чтобы попытаться удалить ListItem из оказанной DropDownList. Это не похоже на правильный путь, как это только фиксирует его для данной страницы. EDIT: Это, как я ее решения в настоящее время.

  • Какое-то триггер вставки / обновления, чтобы заставить ParentID к нулю, если он соответствует самому себе. Это не хорошо, потому что он не молча, с точки зрения пользователя.

Кто-нибудь там есть лучший путь? Кроме того, дайте мне знать, если мне нужно предоставить больше деталей.

-Kelly

Задан 09/12/2008 в 20:32
источник пользователем
На других языках...                            


1 ответов

голоса
1

Я в конечном итоге перемещение иерархии на монтажный стол, потому что я должен был хранить больше, чем просто родитель / потомок. При этом также означало, что я мог бы сбросить контроль DynamicData и использовать более удобный интуитивный TreeView с перетащить-н-падение на стороне сервера событий (ComponentArt). Из-за характера контроля, ни один элемент не может быть его собственный родитель, так что проблема была спорной. Ого, 7 месяцев долгое время в моем первом опыте с Entity Framework :)

Ответил 17/07/2009 в 22:06
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more