此函数只能从 LINQ to Entities 调用。我该如何解决这个问题?

梅林

我想不出一种方法来克服这个问题,我试图在下拉列表中选择一个项目,而在下一个项目中只显示与我之前选择的项目相关的项目。

var xyz = ViewBag.ID_Cliente = new SelectList(db.Clientes, "ID", "Num_Cliente");

var results = from e in db.Extintores.AsEnumerable()
          where SqlFunctions.StringConvert((double)e.ID_Cliente).Contains(xyz)
          select e.Num_Extintor.ToList();

ViewBag.ID_Extintor = new SelectList(results);

有人能帮我吗?

史蒂夫·派

根据您想要的操作,我建议使用流畅的 Linq 语法并根据是否已进行选择来编写查询:

您的“xyz”变量令人困惑,这是什么意思?从您的描述来看,您似乎想要一个客户端列表,然后选择一个客户端 ID 并使用该客户端 ID 来过滤这些 Extintore。

var selectedClientId = ViewBag.SelectedClientId;

var results = db.Extintores;
if (selectedClientId != null)
    results = results.Where(x => x.ID_Cliente == selectedClientId);

ViewBag.Id_Extintor = new SelectList(results.Select(x => x.Num_Extintor));

坦率地说ViewBag,不推荐使用在视图和控制器之间中继状态。ViewBag是动态的,所以虽然它很灵活,但很难断言请求之间的状态是可靠的。相反,您应该在调用之间利用(视图)模型。我希望尽可能多地保留视图包中变量的数据类型。可用项目(SelectList的“列表”可以是SelectList字符串的一个,但选择一个时,它可以被解析回适当的数据类型,而不是在LINQ查询中投射到字符串。这种转换方法的一个大问题是你放弃了在数据库中使用索引。所以如果你的ViewBag有一个 ID_Clients 列表,从该列表中选择一个客户端应该标记一个 SelectedClient ID,以便我们可以使用它来过滤下一个级别。如果您想利用多选,那么您需要存储一组 ID。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

DbFunctions.DiffDays()结果:此函数只能从LINQ到Entities调用

此函数只能从LINQ到Entities调用。。所有()

linq异常:只能从LINQ到Entities调用此函数

日期差:只能从LINQ到Entities调用此函数。

单元测试错误:只能从LINQ到Entities调用此函数

Linq异常:函数只能从linq调用到实体

我该如何解决这个 mysql 存储函数问题?

在C#中是否可以强制私有函数只能从构造函数中调用?

Linq to Entities与Linq to Objects Performance问题

如何在LINQ to Entities查询中使用复制构造函数?

我该如何解决这个问题,res.json不是函数

我该如何解决此错误?时间:2019-05-10标签:asp#linq

LINQ to Entities无法识别该方法

LINQ to Entities无法识别该方法:LastOrDefault

LINQ to Entities 无法识别其中的方法调用

LINQ to Entities无法识别我的方法

我该如何解决此尝试问题

JS新手:为什么在for循环内此函数只能调用一次?

Firebase 函数抛出错误:返回未定义、预期的 Promise 或值。我该如何解决这个问题

移动赋值运算符;试图引用已删除的函数。我该如何解决这个问题?

如何解决:这个工厂函数只能工作一次

MVC LINQ to Entities无法识别方法调用函数-何时调用函数?

在LINQ to Entities中,如何订购如下?

我该如何解决VBA FORMAT函数问题?

在LINQ to Entities查询中调用自定义标量DB函数?

如何在Linq to Entities查询中调用本地方法?

Linq to Entities奇怪的结果

LINQ to Entities 类似代码

为什么:LINQ to Entities无法识别该方法?