未知的.NET架构以某种方式连接到SQL数据库

时间:2011-07-20 17:49:47

标签: .net vb.net sql-server-2008 architecture

所以今天,我在工作中开发的应用程序中发现了一些神秘的.NET架构。我需要帮助来理解这个架构。写这篇文章的人早已不复存在,我不得不弄明白。我们正在从Web应用程序中的一些随机工作流创建一些代码中的对象(对我的问题不重要)。该对象是从Designer.vb文件中的类实例化的。在我单击Visual Studio中的解决方案资源管理器中的“显示所有文件”之前,我无法看到该文件。有3个文件链接在一起.. *.xsd文件,*.Designer.vb文件和*.xsx文件。 *.Designer.vb文件看起来是自动生成的。有关此架构如何工作以及如何更改SQL查询的任何指导,将不胜感激。

目标:
dbo.note.text表格列中获取dbo.note,并将其放在dbo.exportnote.text列中。我只是不明白它如何连接到数据库并从dbo.note.text字段获取数据。我想使查询更具体(可能在其上放置一个where子句)。但实际上我只想了解它与数据库的通信方式。大多数代码使用存储过程。所以我对架构感到困惑。如果你能解释这段代码是如何自动生成的,那真的很酷。当我在解决方案资源管理器中“在浏览器中查看”时,*.xsd文件似乎是一个XML文件。

实例化设计器类对象的代码:

Dim _TestResultsReportDataSet As New TestResultsReportDataSet

解决方案资源管理器的图片:

enter image description here

设计师中部分类的片段:

       <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Data.Design.TypedDataSetGenerator", "2.0.0.0"),  _
 Global.System.Serializable(),  _
 Global.System.ComponentModel.DesignerCategoryAttribute("code"),  _
 Global.System.ComponentModel.ToolboxItem(true),  _
 Global.System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema"),  _
 Global.System.Xml.Serialization.XmlRootAttribute("TestResultsReportDataSet"),  _
 Global.System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet")>  _     
Partial Public Class TestResultsReportDataSet 
    Inherits Global.System.Data.DataSet

致电#1:

Dim filterString As String = String.Format("TestResultsReportId = {0}", _testResultsReportRow.TestResultsReportId)
Dim _noteRow As TestResultsReportDataSet.NoteRow
For Each _noteRow In _testResultsReportDataSet.Note.Select(filterString)
    Dim _exportNote As New Exportnote(DataApplicationContext)
    CopyNoteRowToExportNote(_exportNote, _noteRow, exportTestResultReportId)
    _exportNote.Save()
Next

调用“CopyNoteRowToExportNote”:

Public Sub CopyNoteRowToExportNote(ByVal _exportNote As Exportnote, _
                                   ByVal _NoteRow As TestResultsReportDataSet.NoteRow, _
                                   ByVal exportTestResultReportId As Integer)
    With _exportNote
        .Exporttestresultreport.SetId(exportTestResultReportId)
        .LabAccessioningNumber = _NoteRow.LabAccessioningNumber
        .Text = _NoteRow.Text
    End With
End Sub

...如果您需要更多信息,请询问

2 个答案:

答案 0 :(得分:1)

强类型DataSet就是答案。虽然我仍然无法弄清楚当手动创建DataTable时,SQL表如何或在何处映射到DataSet Designer中创建的强类型DataSet DataTable,因此没有TableAdaptor。这是我队列中的一个突出问题。

答案 1 :(得分:0)

  

是的,这确实是一个强类型数据集。你会发现一些.xsd   数据集的项目中的文件。打开时的相同数据集   设计人员将拥有一些(至少一个)数据适配器   它,这些将与它们存储连接字符串。   通常,它们引用的连接字符串来自配置文件。所以   寻找它。

     

使用此类强类型数据集可以更轻松地执行数据   插入/更新/删除和选择操作,我们可以提供和   在编译时验证表名和列名