Обработка таблиц поиска в Entity Framework v1 - PullRequest
3 голосов
/ 29 мая 2009

Я только начинаю с Entity Framework от Microsoft, использую его для проекта MVC, так как MS, кажется, действительно продвигает его, и у меня возникают некоторые проблемы. В моей базе данных есть несколько таблиц поиска, привязанных к одной таблице через внешние ключи. В рамках сущности я пытаюсь объединить их в одно, чтобы у меня было упрощенное единое представление для этих данных в моей модели. Однако это не представляется возможным с точки зрения дизайнера. Есть ли что-то очевидное, что мне не хватает? Есть ли способ, которым я могу отредактировать файл edmx вручную, чтобы создать такую ​​модель?

1 Ответ

3 голосов
/ 29 мая 2009

В настоящий момент внешние ключи и таблицы поиска в Entity Framework являются PAIN.

EF с LINQ делает получение ваших данных супер-легким, и на первый взгляд выглядит простым для обновления, но с таблицами поиска все становится сложно (на данный момент ... читать на ...)

Я не уверен, как бы вы "объединили" свои таблицы поиска в одну таблицу. Если каждая таблица содержит различный тип «поискового объекта», то IMHO, они должны быть представлены отдельно в вашей EDM. Я предполагаю, что у вас возникают головные боли при обновлении внешних ключей записи в таблицах поиска. Это потому, что это головная боль.

Изменение значений внешнего ключа:

MyDBEntities _db = new MyDBEntities();
//get a Person
MyDBEntities.Person person = (from p in _db.Persons
                      where p.Id = 1
                      select p).First();
// This sets the foreign key value in the Person table on the PersonType field
person.PersonTypeReference = new EntityKey("MyDBEntities.PersonType", "PersonTypeId", 3) 

Следующая версия Entity Framework будет иметь новую концепцию под названием «Ассоциации FK». Это вернет разумность установки значения внешнего ключа напрямую, а не необходимости создавать и устанавливать EntityKey.

НТН.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...