2011-08-03 5 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 개의 데이터베이스 테이블 *이 함께 작동하는 문제입니다. 이상적으로 나는 clientname을 Events 테이블에서 clientid로 대체하려고합니다. 나는 이벤트를 나열하고 때

나는 클라이언트 ID에 appose로 클라이언트의 이름을 표시하는 데 싶습니다

나는 전에이 방법을 설정하지만, 이벤트를 나열 할 때 문제로 실행했다. 불행히도 나는 ASP.net에 상당히 익숙하지 않은데 PHP에서 쉽게 할 수는 있지만 어떻게 작동 시킬지 전혀 모른다. 큰 문제는 아니지만 클라이언트 목록과 이벤트를 서로 업데이트 할 수 있기를 바랍니다.

죄송합니다.이 말은별로 의미가 없으면 혼란이 있다면 나는 더 나은 말을하려고 노력할 것입니다.

* 내 부분에 보정

+0

에서 CLIENTNAME 필드를 제거는 테이블은 별도의 데이터베이스에 저장하고 있습니까? "두 개의 데이터베이스가 함께 작동하도록하는 데 문제가 있습니다."이벤트 및 클라이언트가 1 개의 데이터베이스에있는 두 개의 데이터베이스 테이블 인 경우 솔루션이 쉽습니다. – Josh

+0

정확하게 시도한 내용과 경험 한 내용을 원하는대로 추가 할 수 있습니까? –

+0

그들은 하나의 데이터베이스에서 2 개의 다른 데이터베이스 또는 2 개의 다른 테이블입니까? – Vinay

답변

2

당신이 당신의 데이터베이스가 정규화있어되면, Linq2Sql 컨텍스트를 만든 다음이 유사한 쿼리를 작성할 수 있습니다 (이벤트 이름과 클라이언트 이름의 목록을 얻을 수 있습니다) 다음을 실행)

1) 이벤트 테이블

2 클라이언트 ID 필드를 추가 :

앤드류 루이스의 대답에 추가
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

응답 해 주셔서 감사합니다. 한번 시도해보십시오. ID를 다시 사용하도록 설정하십시오. – Gordnfreeman

1

을 수행해야 클라이언트 ID 필드 채우기 위해 SQL 쿼리 :

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

3) 이벤트 테이블

+0

응답 해 주셔서 감사합니다. – Gordnfreeman