I asked on SO a few days ago在最近完成的数据库周围构建包装器的最简单最快捷的方法是什么。我接受了建议并使用sqlmetal围绕我的数据库设计构建了linq类。
现在我有两个问题。一,我不知道LINQ。而且,二,我很震惊地意识到学习有多难。我有一本关于LINQ(Manning的Linq In Action)的书,它已帮助了一些人,但最终我需要花费几周时间来获得牵引力,我今天需要在我的项目上取得一些进展。
所以,我正在寻找一些帮助入门。
单击HERE查看我的简单数据库架构 单击HERE以查看为架构生成的vb类。
我的需求很简单。我有一个控制台应用程序。主表是SupplyModel表。大多数其他表都是SupplyModel表的子表。
我想遍历每个Supply Model记录。我想获取供应模型的数据,然后使用数据 DoStuff 。我还需要为每个供应模型迭代子记录,例如NumberedInventories和 DoStuff 。
如果可能的话,我需要在VB而不是C#中帮助这样做。我不是在寻找整个解决方案......如果你能提供一些代码片段来帮助我顺利完成这一过程。
感谢您的帮助。
修改
为了记录,我已经写了以下代码......
Dim _dataContext As DataContext = New DataContext(ConnectionStrings("SupplyModelDB").ConnectionString)
Dim SMs As Table(Of Data.SupplyModels) = _dataContext.GetTable(Of Data.SupplyModels)()
Dim query = From sm In SMs Where sm.SupplyModelID = 1 Select sm
这段代码正在运行......我有一个查询对象,我可以使用ObjectDumper来枚举和转储数据......但我仍然无法弄清楚...因为ObjectDumper使用反射和其他语言结构我不要。它可以像我想要的那样枚举父数据和子数据(当level = 2时)。
请帮助......我被困住了。救命啊!
赛斯
答案 0 :(得分:2)
var result = from s in _dataContent.SupplyModels where s.SupplyModelID==1 select s;
foreach(SupplyModel item in result)
{
// do stuff
foreach(SupplyModelChild child in item.SupplyModelChilds)
{
//do more stuff on the child
}
}
和VB.NET版本(来自Telerik代码转换器)
Dim result As var = From s In _dataContent.SupplyModels _
Where s.SupplyModelID = 1 _
Select s
For Each item As SupplyModel In result
' do stuff
'do more stuff on the child
For Each child As SupplyModelChild In item.SupplyModelChilds
Next
Next