We have an existing database which we'd like to connect to using code-first EF.
An issue we have come across is in the following scenario...
**TABLE 1**
DebtorID Int PK (identity column)
Type Int PK FK ( value would be '1' - FK to Table 4)
**TABLE 2**
CreditorID Int PK (identity column)
Type Int PK FK (value would be '2' - FK to Table 4)
**TABLE 3**
TransactionID Int PK
ParentID Int FK
ParentType Int FK
-----------------------
**TABLE 4**
Type Int PK (identity column)
Description Varchar(max)
Table 3 has foreign key links to multiple tables (Table 1, Table 2, etc...). The key is unique by the type column. Constraints have been altered here to allow this scenario.
Q. How can we implement this schema using code-first? We have looked at Data Annotations, and also Fluent API, but can't come up with a solution other than to alter the database schema (which would be a big headache).
As it stands, we only seem to be able to link to a single foreign table.
The solution also has to account for other tables (not shown here) where the primary keys for Table 1 etc... are part of the primary key.
A real world view of our schema, and the issue with code-first.
Current schema: http://oi60.tinypic.com/2aeug4m.jpg
Code-First schema: http://oi62.tinypic.com/9schmc.jpg