我正在使用Linq to Entities和Oracle数据库。我正在尝试更新(仅用于显示,不用来更新数据库)结果查询...如果我向您展示我正在做的事情,对我来说很容易:
Public Function getValues(ID As String) As IQueryable(Of CUSTOM_CLASS)
Dim theValues = db.SOMETABLE _
.Where(Function(st) st.ID = ID) _
.Select(Function(st) New CUSTOM_CLASS With{ _
.ID = st.ID, _
.DESCRIPTION = st.DESCRIPTION, _
.CUSTOM_FIELD = “”
})
For Each v in theValues
v.CUSTOM_FIELD = functionThatReturnSomeValue()
Next
Return theValues
End Function
我的代码编译没有问题,如果我调试,CUSTOM_FIELD有“Some Value”作为值。但是当我使用这个函数时,我得到的结果没有CUSTOM_FIELD中的值。 我做错了什么?
谢谢!
埃德加。
答案 0 :(得分:0)
我仍然认为您的查询会以某种方式重新执行。这只适用于我在那里调用ToList()(在LINQPad中测试):
public class XY
{
public string Name;
public string X;
}
void Main()
{
var x= MyEntitySet.Select(yy => new XY {Name = yy.Name, X = "" }).ToList();
x.Dump();
foreach (var y in x)
{
y.X = "someText";
}
x.Dump();
}