比较两个表ID。 ASP.NET MVC

米格埃尔巴卢

新成员
已加入
2020年12月14日
留言内容
3
编程经验
Beginner
我当前正在加载两个Orders和Colors表,我希望Colors表列出ID等于Orders的项目。为此,我想到的是将IdOrders值分配给变量并将其与我的IdOrders(在我的表Colors中)进行比较,但是无法将数据库的余额分配给我的变量

我的桌子:

公共偏见类命令
{
public int ID_Orders {get;放; }
public Nullable<System.DateTime>Data_Registo {get;放; }
公共字符串Num_Encomenda {get;放; }
公共字符串Ref_Cliente {get;放; }
}

公共局部类颜色
{
public int ID_Orders {get;放; }
public int ID_Programa_Malha {get;放; }
public int ID_Linha_Cor {get;放; }
公共字符串Cor {get;放; }
}

我正在使用一个已在运行的数据库,可能这些表已在sql联接中使用,但没有如何处理该信息。

正如我所说的,我记得的第一件事就是这样做:

我的控制器:

var id =来自db.Orders中的d
select d.ID_Orders;

var color = db.Colors.Where(x =>x.ID_Orders = id).ToList();

var表=新的EncomendaViewModel
{
Orders = db.Orders.ToList(),
颜色= color.ToList(),
};
return View(tables);

错误中 ID: CS0029 C#无法将类型隐式转换为“ int” 错误编号

是否可以通过这种方式处理数据?

感谢任何可以提供帮助的人!

- - - - - - - - - -(更新) - - - - - - - - - - - - - - --------------------

使用 == cs0019运算符'=='不能应用于以下类型的操作数 error2

我在Broswer的观点 看法
 

约翰·H

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
1,050
地点
挪威
编程经验
10+
var id =来自db.Orders中的d
选择d.ID_Orders;

var color = db.Colors.Where(x =>x.ID_Orders = id).ToList();
ID查询返回一个id列表(即使只有一个id),在下一个查询中id应该是单个id。如果这是您要执行的操作,则可以使用id.First()仅获取第一个ID。如果有多个ID,则可以使用Any查询。
另请注意,比较运算符为==。单个=是赋值运算符。
 

米格埃尔巴卢

新成员
已加入
2020年12月14日
留言内容
3
编程经验
Beginner
id查询返回一个id列表(即使只有一个id),在下一个查询中id应该是单个id。如果这是您要执行的操作,则可以使用id.First()仅获取第一个ID。如果有多个ID,则可以使用Any查询。
另请注意,比较运算符为==。单个=是赋值运算符。
我尝试这个
var id =来自embOpen中的d
选择d.ID_Programa;
var co = db.Programa_Cor.Where(x =>id.Contains(x.ID_Programa))。ToList();

在这种情况下,我该如何申请全部或全部?
 

跳伞

工作人员
已加入
2019年4月6日
留言内容
2,536
地点
弗吉尼亚州切萨皮克
编程经验
10+
I highly doubt that you want to use Any() or Any() considering that you want to get back a list of items.

Any() and Any() take a boolean expression and return a boolean value. You use Any() to see if at least one item in the query is satisfies a condition. You use All() to see if all items in the query satisfy a condition.
 

米格埃尔巴卢

新成员
已加入
2020年12月14日
留言内容
3
编程经验
Beginner
C#:
dbEntities sd = new dbEntities();
        List<Orders> orders= sd.Orders.ToList();
        List<Colors> colers= sd.Colors.ToList();

        var multipletable = from c in orders
                            join st in colers on c.ID_Programa equals st.ID_Programa into table1
                            from st in table1.DefaultIfEmpty()                               
                            select new MultipleClass { orders= c, colers= st  };

使用join可以将颜色与订单相关联,但可以列出颜色和订单,颜色和订单,颜色和订单。

如何列出带有订单的联接?


我做了一点测试以列出与id匹配的颜色

工程视图
 
最佳 底部