我是一名開發項目的學生,我使用Entity Framework 5.0 CodeFirst爲我的應用程序提供嵌入式數據庫。我有一個服務器和一個客戶端應用程序,它們有完全相同的本地數據庫,但有兩個獨立的解決方案。實體框架客戶端/服務器需要共享相同的密鑰ID
數據庫有一個Project table,它可以有Drawings,Drawings上可以有一些組件。因此,如果客戶想查詢圖紙上我做了一個調用方法的服務器上的特定項目:
GetDrawings(int ProjectId)
{
var result = suedocode: get all drawings;
}
應得到所有圖紙爲特定項目。
我的大問題是。假設服務器有10個項目,其ID爲: ProjectId:1,...,ProjectId:10
如果我的客戶端應用程序在ProjectId = 3的服務器上查詢項目並將其保存在客戶端的本地數據庫,ProjectId得到一個新的ID,它是ProjectId = 1,因爲它存儲在客戶端數據庫中的第一個項目。當我現在想要查詢我新存儲的項目上的圖紙並使用關聯的ProjectId時,我實際上獲取了與ProjectId = 1的服務器上的項目關聯的圖形。
所以最大的問題是,我是否可以讓服務器生成Id,並在客戶端保存項目時使用這些確切的Id。因此,當服務器上的ProjectId = 4存儲在客戶端的數據庫中時,ID爲ProjectId = 4,即使它是表中的第一個項目存儲。
希望我解釋了我的問題,所以可以理解。
在此先感謝