在另一个上下文中引用实体-实体框架

时间:2020-02-12 22:44:52

标签: c# entity-framework

我正在尝试使用Any方法来实现Entity Framework中的现有功能,但是当我在当前上下文中引用另一个实体时,会收到错误消息

名称OrderNumber在当前上下文中不存在

我该如何解决?

var ordResults = from ord in orders
                 select new Order
                        {
                            OrderId = ord.OrderId,
                            WarehouseId = ord.WarehouseId,
                            OrderNumber = ord.OrderNumber,
                            CustomerPoNumber = ord.CustomerPoNumber,
                            ShipToCode = ord.ShipToCode,
                            ShipToName = ord.ShipToName,
                            OrderDate = ord.OrderDate,
                            PromisedDate = ord.PromisedDate,
                            if (aadContext.TransactionLogs.Any(t => t.ControlNumber == **OrderNumber** && t.TransactionType == "670")) {"C"} else {"D"},
                            ord.Status,
                            ord.CustomerName,
                        }

1 个答案:

答案 0 :(得分:0)

您也可以尝试类似的方法。
我仍然不理解{“ C”}否则{“ D”}是什么,如果它的条件可以加上
t.somevalue=="C" || t.SomeValue=="E"

var ordResults = from ord in orders
             let someValue = aadContext.TransactionLogs.Any(t => t.ControlNumber == ord.OrderNumber && t.TransactionType == "670")) 
             select new Order
                    {
                        OrderId = ord.OrderId,
                        WarehouseId = ord.WarehouseId,
                        OrderNumber = ord.OrderNumber,
                        CustomerPoNumber = ord.CustomerPoNumber,
                        ShipToCode = ord.ShipToCode,
                        ShipToName = ord.ShipToName,
                        OrderDate = ord.OrderDate,
                        PromisedDate = ord.PromisedDate,
                        DoYourValue = SomeValue
                        ord.Status,
                        ord.CustomerName,
                    }