0

我一直在改变这个电话一段时间,但不能让它发挥作用。我正在尝试从数据库中返回一些记录,并根据它们的 ID 号排除项目。

这是一个报价数据库,当有人隐藏报价时,它会将报价 ID 存储在 cookie 中(必需),当返回站点时,会读取 cookie.value。

我需要从返回查询中过滤出这些 ID,并使用 WebGrid 在视图中显示结果。我有饼干部分工作。我检索值(可能是多个)并将其拆分为字符串列表。然后我运行一个 foreach 循环,将字符串解析为一个整数,然后尝试删除我从数据库中检索到的引号。这是我正在使用的代码...

// Filter on Cookie Value using tokenizer
string value = Request.Cookies.Get("hideCookie").Value;
List<string> values = value.Split(' ').ToList();
var quotes2 = db.Quotes.Include(q => q.QName);

foreach (var i in values)
{
    int idv = int.Parse(i);
    quotes2 = from q in quotes2 where q.QuoteID != idv select q;
}
return View(quotes2.ToList());

这会引发错误“指定的包含路径无效。EntityType 'Exercise4.Models.Quote' 未声明名为 'QName' 的导航属性。” (QName 是数据库记录中的一个条目)。

如果我在返回 View() 中删除 ToList(),quotes2 会传递给 View,但会在 webGrid 上抛出此错误“指定的包含路径无效。EntityType 'Exercise4.Models.Quote' 未声明导航名为“QName”的属性。”

我确信有更好的方法来做到这一点。你能指点我正确的方向吗,这样我就可以停止用头撞我的桌子了......

4

0 回答 0