2012-11-07 38 views
0

無數小時後,我終於設法得到流利的API設置映射我們複雜的現有SQL DB到POCO類。有一件事我不能上班,我想知道它是否可能不被支持。EF4代碼首先與現有的數據庫和一對一/一對多對同一類型

級電源有:

List<Transaction> PowerTransactions; 
Transaction LastPowerTransaction; 
int PowerTransactionId; 

交易是一對多的地方事務表有一個FK指向Power.PowerID,工作正常。

電源列PowerTransactionId和FK指向事務處理表中的TransactionId。

電力已可選的最後交易與所需的功率

HasOptional(x => x.LastPowerTransaction).WithRequired(x => x.PowerLastPowerTransaction).Map(x =>  x.MapKey("PowerTransactionId")); 

權力TRANSACTIONID是123和PowerID的是1,選擇Power.LastPowertransaction當我得到的交易ID爲1:

我用流利的API集而不是123.

由於多對多從PowerTransaction中進行選擇,其中PowerID = 1,One to One將執行相同的操作,而不是從PowerTransaction中選擇PowerID = 123。

我在這裏錯過了什麼?

+0

爲什麼你不使用免費的實體框架電動工具來逆向工程數據庫?你會在2分鐘內完成。 –

回答

0

Mystere Man的評論不是真正的答案,但使用提到的工具導致了正確的答案。 EF4代碼首先只與共享主鍵進行一對一的關係。尊敬的工程透露這是沒有人創建一個。因此我的流暢映射是錯誤的。這是EF4代碼中的一個限制,如果現有數據庫不使用共享主鍵,則必須先解決一對一使用「假」的問題。

相關問題