我的 SQL Server 数据库包含几个视图,这些视图本质上是某些表的过滤 (WHERE) / 排序 (ORDER BY) 版本,即没有连接。
一个例子是我的下载表,它有一个视图,例如DownloadsOnlineOnly ,例如
SELECT * FROM Downloads WHERE Live = 1 ORDER BY FolderName ASC;
我可以将这些视图拖放到我的 LINQ to SQL DataContext 上,并使用 LINQ 查询这些视图并检索数据……
但是我的 DataContext 中没有提取外键关系,所以我失去了以下能力:
Dim dl as DownloadOnlineOnly = (From r in db.DownloadOnlineOnlies Select r).First
Dim fol as Folder = dl.Folder ' Syntax error as there is no association between
' DownloadOnlineOnly and Folder in my DataContext.
我理解为什么会发生这种情况,但我该如何解决这个问题:
- 无需在我的 DataContext 中手动添加关联?
- 我可以更改实体的类型,例如更改 DataContext 上 SP 的返回类型吗?
- 我可以在 DownloadOnlineOnly 对象和 Download 对象之间转换或转换吗?
- 还是别的什么方法?
抱歉,如果这是一个微不足道的问题,我对 LINQ 比较陌生。
PS 我正在使用 SQL Server 2008 R2 数据库进行开发。