Я оцениваю использование EF в отношении существующей схемы - проблема в том, что я не могу решить, как настроить ассоциации между таблицами, где внешний ключ НЕ является первичным ключом главной таблицы.Как обрабатывать «вторичные» ключи в Entity Framework
В качестве примера, foo
может иметь много bars
, как определено, как это (простите псевдокод):
table foo {
int foo\_id pk,
char(10) foo\_code,
...
}
table foobar {
int bar\_id pk,
char(10) bar\_foo\_code fk(foo.foo\_code),
...
}
Что я отсутствующий, чтобы быть в состоянии создать foo_foobar
ассоциацию, и, следовательно, Bars
свойство навигации на объекте Foo
?
У нас были те же проблемы здесь, и в конце концов пришлось внести изменения в нашу базу данных, чтобы внешние ключи указывали только на первичные ключи. Невозможно изменить схему базы данных? – CraftyFella
К сожалению, нет - схема - кошмар по старым причинам, и мы должны взаимодействовать с ней. Отстой, я знаю. Как я уже сказал, я видел случаи, когда совершенно правильно иметь как первичный ключ И отдельный (возможно, сложный) внешний ключ. – Rammesses