已更新
我一直试图从一个对象上运行多个LINQ
。
TestObject myObject = entities.TestObject.FirstOrDefault(t => t.number == foo.number && t.deleted == "N")
myObject = entities.TestObject.FirstOrDefault(t => t.number == foo.number && t.deleted == "N")
myObject = entities.TestObject.FirstOrDefault(t => t.number == fooTest.number && t.deleted == "N")
myObject = entities.TestObject.FirstOrDefault(t => (t.number == fooTestTwo.number || t.anotherNumber == fooTestTwo.number) && t.deleted == "N")
现在,如果我对多个myObject
使用LINQ
,那么在第三个LINQ
之后它似乎没有正确查询,除非我将其设置回null
。
myObject = null;
在第四个LINQ
中,OR语句不能正常工作,只在第一个条件下触发。
我应该为不同的查询创建多个对象,还是将对象设置为null,以便更好地处理这个问题?
答案 0 :(得分:1)
如果您使用根本不同的Linq表达式设置myObject,那么myObject表示的东西将不断变化,这可能会导致混乱/导致错误。您应该为每个linq表达式创建一个新对象,并为它们命名,以便它们的名称代表它们是什么,例如myMostRecentObject,myMostExpensiveObject等...