我对 LINQ to SQL 很陌生,直到最近还没有遇到任何问题。用 C# 编写。
我有一个模型助手 .cs 文件。我正在尝试创建一个公共列表,我可以从中查看。
这是模型助手中的代码(删除了无关的、工作的、内容:
using System;
using System.Collections.Generic;
using System.Linq;
namespace sample_runs.Models {
partial public class SampleRunsDataContext {
public List<attendee> GetMyRuns(int me) {
var mine = (from a in attendees
join s in sample_runs
on a.sample_run_id equals s.sample_run_id
where a.user_id == me
orderby a.sample_run_id descending
select new {
s.sample_run_id,
a.role.role_name,
s.sample_run_status.sample_run_status_name,
s.project_number,
s.run_type.run_type_name,
s.description
}).ToList();
return mine;
}
}
}
至于数据库,像这样考虑涉及的两个表。sample_runs 就像派对或活动的列表。因此,对于每一行,我们都获得了派对的所有信息。然后,我们有一个名为参加者的表格,其中所有聚会参加者都被单独列出。每行都有关于与会者的信息,包括他们的“角色”,我认为这就是隐喻失效的地方。每个聚会可以有任意数量的参加者。该数据库非常漂亮,带有外键和您通常的各种规范化。
对于给定的与会者,我想要的只是一份他们参加过的所有聚会的清单。我希望这是有道理的。
我在这个文件中的所有其他 linq 语句和列表都工作正常。这让我感到悲伤:
Cannot implicitly convert type 'System.Collections.Generic.List<AnonymousType#1>'
to 'System.C9ollections.Generic.List<sample_runs.Models.attendee>
我很困惑这是否应该是一个公共列表或其他东西。
我不确定是否
List<attendee>
真的应该
List<attendee>
由于加入。
经过一番研究,我玩弄了“我的”变量被发送到的地方,以及这应该是 List<> 还是 IENumerable<> 等等等等。我可悲地迷路了。
仅供参考,这就是我想在控制器中对“GetMyRuns”执行的操作:
public ActionResult myruns() {
return View(db.GetMyRuns(someintvar));
}
然后我想我将构建一个强类型视图并从那里开始。
我知道这可能是一个垒球问题,但我非常感谢您能为我提供的任何帮助。
谢谢你。