LinqToSql加入表和视图

时间:2010-11-11 00:41:12

标签: .net linq-to-sql

我有一张描述为

的表格
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

Project中的WRSA_ID实际上是ProjectView中Project_ID的外键,但很明显,因为该表引用了一个视图,所以我不能在表上放置外键约束。 在UI中我有实体Project和ProjectView,但是由于缺少外键,它们之间没有物理链接。

我想选择在WRSA_ID / Project_ID或Project_Name或Administrator中找到搜索字符串的所有项目。我该怎么做才是LinqToSql?

1 个答案:

答案 0 :(得分:0)

我相信您可以在.DBML中包含表和视图,然后手动添加两者之间的关系。即使你不能,这也不会阻止你查询表,就好像它们已经加入一样。你只需要添加一个Linq'join',告诉Linq如何将表连接在一起。像这样:

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