2010-11-11 63 views
1

我有一個表描述爲LinqToSql加入有一張桌子和

CREATE TABLE [dbo].[Project](
[id] [int] IDENTITY(1,1) NOT NULL, 
[WRSA_ID] [varchar](9) NOT NULL, 
[Administrator] [varchar](5) NOT NULL 

視圖和描述爲

CREATE VIEW [dbo].[ProjectView] 
AS 
SELECT  Project_ID, Project_Name 
FROM   WRSA.dbo.projects 

在項目的WRSA_ID實際上是PROJECT_ID的ProjectView一個外鍵,但一個視圖顯然,因爲表引用了一個視圖,我不能在表上放置一個外鍵約束。 在UI中我有兩個實體Project和ProjectView,但由於缺少外鍵,它們之間沒有物理鏈接。

我想選擇在WRSA_ID/Project_ID或Project_Name或Administrator中找到搜索字符串的所有項目。我怎麼做這是LinqToSql?

回答

0

我相信你可以在你的.DBML中包含表和視圖,然後在兩者之間手動添加一個關係。即使你不能,這也不會阻止你查詢表格,就好像它們已經加入一樣。你只需要添加一個Linq'join',告訴Linq應該如何將這些表連接在一起。類似這樣的:

from project in Project 
join projectView in ProjectView on project.WRSA_ID equals projectView.Project_ID 
where... 
select...