Ich habe zwei DataSets mit identischen Tabellen.Wie lade ich eine DataTable mit berechneter Spalte?
DataSet1
Datensatz2
"Fullname" Spalte der beiden Tabellen Set Ausdruck Eigenschaft als
[Grade]+'-'+[Class]
Für Datensatz2 habe ich eine mir definiert thod - "Import".
// DataSet2.cs file
namespace ConsoleApplication1
{
public partial class DataSet2
{
public void Import(DataSet1 dataSet1)
{
this.Group.Load(dataSet1.Group.CreateDataReader());
}
}
}
Die letzte Zeile von Code (dataSet2.Import(dataSet1);
) wirft InvalidOperationException.
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
DataSet1 dataSet1 = new DataSet1();
dataSet1.Group.AddGroupRow(1, "A");
dataSet1.Group.AddGroupRow(1, "B");
DataSet2 dataSet2 = new DataSet2();
dataSet2.Import(dataSet1);
}
}
}
Das ist, weil Spalte "FullName" Spalte berechnet wird. Ich würde gerne wissen, wie diese Ausnahme in dieser besonderen Situation umgehen? Ist es möglich, dass der DataReader berechnete Spalten beim Laden überspringt? Oder vielleicht gibt es noch andere "Tricks"?.
Dies ist eine Reproduktion eines Problems in einem meiner Projekte mit DataSets, mit mehreren Tabellen in ihnen.