枚举实体框架中的“列”

时间:2011-01-04 11:06:02

标签: vb.net entity-framework-4

我们正在用EF4浸泡我们的脚趾并撞墙。

我们有一个管理会员数据的应用程序,核心要求是使用Word邮件合并生成信件。

在当前实现中,我们为所需记录生成数据集,并枚举其列和行,以创建Word可用于合并的制表符分隔文本文件。 (这非常有效,使用Tab作为文件中存在多行结果,例如FormattedAddressBlock)。

使用EF4无法在内部转换为数据集(此功能在Orcas测试版之后被删除),所以对于这个问题:

我们如何枚举LINQ或ObjectQuery的列和行以允许我们构建文本文件。

以下是我们与数据表一起使用的代码示例。

    Using wmTextWriter As TextWriter = New StreamWriter(WordMergeDataFile)

        ' Write the header row to the merge data file.
        Dim wmOutput As New StringBuilder()
        For i As Integer = 0 To MergeData.Columns.Count - 1
            wmOutput.Append(MergeData.Columns(i).ColumnName & vbTab)
        Next
        wmOutput.Remove(wmOutput.Length - 1, 1) ' Remove the trailing Tab character.
        wmTextWriter.WriteLine(wmOutput.ToString)

        ' Loop through the datatable and write out the data rows to the work merge file.
        wmOutput = New StringBuilder()
        With MergeData
            For iRowNo As Integer = 0 To .Rows.Count - 1
                For iColNo As Integer = 0 To .Columns.Count - 1
                    wmOutput.Append(DOUBLEQUOTE & .Rows(iRowNo).Item(iColNo).ToString & DOUBLEQUOTE & vbTab)
                Next
                wmOutput.Remove(wmOutput.Length - 1, 1) ' Remove the trailing Tab character.
                wmTextWriter.WriteLine(wmOutput.ToString)
                wmOutput = New StringBuilder()
            Next
        End With

        wmOutput = Nothing
        wmTextWriter.Close()

    End Using

非常感谢任何帮助。

马克哈比 诺丁汉。英国

0 个答案:

没有答案