2011-08-03 105 views
0

我目前正在一個網站上爲我們的客戶跟蹤小事件。我正在使用linq-to-sql和asp.net來構建它。到目前爲止,該網站真的很少,大約有10頁,只有2個表格,活動和客戶。我已經列出的列下面的每個表:數據庫問題(LINQ-to-SQL)

Events: 
-eventid 
-eventname 
-datecreated 
-details 
-datedue 
-status 
-clientname (this should be clientid) 
-sentemail 

Clients: 
-clientid 
-clientname 
-clientemail 
-clientphone 

我有越來越2代數據庫表的問題*共同努力。理想情況下,我希望在Events表中將clientname替換爲clientid。

我之前建立這種方式,但上市出來的時候,事件碰到了一個問題:

當我列出了事件,我想它顯示客戶名稱放在附近的clientID的。不幸的是,我對ASP.net來說很新,儘管我可以很容易地用PHP做到這一點,但我不知道如何使它工作。它不是一個很大的交易,但我希望能夠將客戶名單和事件相互更新。

對不起,如果這沒有什麼意義,如果有任何困惑,我會盡量說得更好。

×修正我的一部分

+0

刪除CLIENTNAME場均存儲在單獨的數據庫中的表?我對「我遇到的問題是讓2個數據庫一起工作......」的說法感到困惑。如果事件和客戶端是1個數據庫中的兩個數據庫表,解決方案很簡單。 – Josh

+0

你能否添加任何你已經嘗試過的東西的信息,以及你所經歷的與你想要發生的不同之處? –

+0

他們是2個不同的數據庫還是2個不同的表在一個單一的數據庫中 – Vinay

回答

2

一旦你得到了你的數據庫標準化,創建LINQ2SQL上下文,然後你可以寫一個類似的查詢(獲取事件名稱和它們的客戶名稱的列表) :

var results = from e in dbContext.Events join c in dbContext.Clients on e.clientid equals c.clientid select new { e.eventname, c.clientname }; 
+0

謝謝你的回覆我會嘗試這一次,我完成設置它回來使用Ids – Gordnfreeman

1

除了安德魯·劉易斯的答案,你需要:

1)客戶端ID字段添加到事件表

2)運行SQL查詢來填補ClientID的領域:

update events set clientid = (select clientid from client where name = events.clientname) 

3)從事件表

+0

謝謝你的迴應,這應該使切換回來更容易 – Gordnfreeman