1

既存のデータベースの EDMX モデルを作成しようとしています。DB には次のスキーマがあります (最適なものではありませんが、これは私が持っているものであり、変更できません)。

Table: ObjectTypes (ObjectTypeID "Identity", ObjectName)
Data: 1, Customer
Data: 2, Agent

Table: Customers (CustomerID "Identity", FName, LName, AgentID)
Data:  1, FTest, LTest, 1

Table: Agent (AgentID "Identity", AgentName, AgentCommission)
Data:  1, TestAgent, 10.0

Table: Contacts (ContactID "Identity", ObjectTypeID, ObjectID, ContactName)
Data:  1, 1, 1, CustomerTestContact
Data:  2, 1, 1, CustomerTestContact2
Data:  3, 2, 1, AgentTestContact
Data:  4, 2, 1, AgentTestContact2

次に、連絡先へのナビゲーション プロパティを使用して、Agent エンティティと Customer エンティティを作成する必要があります。

For contacts of agents: Agents A JOIN Contacts C ON A.AgentID = C.objId AND C.objType = 2
For contacts of customers: Customers Cust A JOIN Contacts C ON Cust.CustomerID = C.objId AND C.objType = 1

これどうやってするの?

継承 (Customer と Agent は ObjectTypes から継承) を使用してから、クラスごとに ObjectTypeID の条件 (Customer = 1、Agent = 2) を追加しようとしましたが、ObjectTypes の ObjectTypeID が Identity として定義されているため、実行できるというエラーが表示されます。桁。

正しい道を進んでいるかどうかはわかりませんが、別の方法を見つけることができません。

実際、EFでこれを達成できるかどうかさえわかりません。

ありがとうございました。

4

0 に答える 0