Удаление ассоциации из сущности - PullRequest
1 голос
/ 09 июля 2009

У меня есть 2 лица: Пользователь и Компания, с FK от Пользователя до Компании.

Я пытаюсь удалить связь и оставить пользовательскую сущность со скалярным свойством «CompanyId», но в модели все еще есть сущность «Company» (в основном, для повышения производительности, мне не нужно, чтобы полная сущность была присоединена к нему).

Я могу достичь этого, только удалив связь, а затем перейду к файлу edmx (xml) и удалим остатки вручную, НО ...

После регенерации модели (после дополнительных изменений в схеме и т. Д.) Я снова получаю ассоциацию «Company» для объекта «User» (вместе со свойством «CompanyId»), что, конечно, вызывает ошибки сопоставлений, так как у меня есть 2 сопоставления с одним и тем же полем CompanyId в базе данных. Еще раз обратиться к XML, чтобы исправить это, я бы не хотел этого делать ...

Есть ли способ обойти это? - Перенос таблицы «Компания» на другую модель невозможен.

Спасибо, Nir.

1 Ответ

1 голос
/ 10 июля 2009

Я думаю, что нашел ответ. Я могу оставить ассоциацию сущностей без скалярного свойства и установить для нее частный получатель. Затем добавьте к частичному классу следующее:

public int CompanyId {

get
  {
 return 
     (int)CompanyReference.EntityKey.EntityKeyValues.First(c => c.Key == "Id").Value; 
  }

}

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

Nir.

...