rksoftware

Visual Studio とか C# とかが好きです

.NET Standard で使える DataTable (その2 / DataRow)

DataTable が、.NET Standard で使えるようになっていることに気が付いたので少し調べてみています。

前回(DataTable の API の比較)

■ DataRow

前回は DataTable を見てみましたが、その Table の一つ一つの行のデータを表す DataRow クラスも切っても切れない強いつながりのあるクラスです。今回はこの DataRow クラスを見てみましょう。

基底クラス インタフェース

.NET Framework .NET Stabdard .NET Core
なし なし なし

一致:1 / 差:0

コンストラクタ

.NET Framework .NET Stabdard .NET Core
protected internal DataRow(DataRowBuilder builder); protected internal DataRow(DataRowBuilder builder); protected internal DataRow(DataRowBuilder builder);

一致:1 / 差:0

インデクサー

.NET Framework .NET Stabdard .NET Core
public object this[DataColumn column] { get; set; } public object this[DataColumn column] { get; set; } public object this[DataColumn column] { get; set; }
public object this[string columnName] { get; set; } public object this[string columnName] { get; set; } public object this[string columnName] { get; set; }
public object this[int columnIndex] { get; set; } public object this[int columnIndex] { get; set; } public object this[int columnIndex] { get; set; }
public object this[DataColumn column, DataRowVersion version] { get; } public object this[DataColumn column, DataRowVersion version] { get; } public object this[DataColumn column, DataRowVersion version] { get; }
public object this[string columnName, DataRowVersion version] { get; } public object this[string columnName, DataRowVersion version] { get; } public object this[string columnName, DataRowVersion version] { get; }
public object this[int columnIndex, DataRowVersion version] { get; } public object this[int columnIndex, DataRowVersion version] { get; } public object this[int columnIndex, DataRowVersion version] { get; }

一致:6 / 差:0

プロパティ

.NET Framework .NET Stabdard .NET Core
public DataTable Table { get; } public DataTable Table { get; } public DataTable Table { get; }
public DataRowState RowState { get; } public DataRowState RowState { get; } public DataRowState RowState { get; }
public string RowError { get; set; } public string RowError { get; set; } public string RowError { get; set; }
public object ItemArray { get; set; } public object ItemArray { get; set; } public object ItemArray { get; set; }
public bool HasErrors { get; } public bool HasErrors { get; } public bool HasErrors { get; }

一致:5 / 差:0

メソッド

.NET Framework .NET Stabdard .NET Core
public void AcceptChanges(); public void AcceptChanges(); public void AcceptChanges();
public void BeginEdit(); public void BeginEdit(); public void BeginEdit();
public void CancelEdit(); public void CancelEdit(); public void CancelEdit();
public void ClearErrors(); public void ClearErrors(); public void ClearErrors();
public void Delete(); public void Delete(); public void Delete();
public void EndEdit(); public void EndEdit(); public void EndEdit();
public DataRow GetChildRows(string relationName); public DataRow GetChildRows(string relationName); public DataRow GetChildRows(string relationName);
public DataRow GetChildRows(string relationName, DataRowVersion version); public DataRow GetChildRows(string relationName, DataRowVersion version); public DataRow GetChildRows(string relationName, DataRowVersion version);
public DataRow GetChildRows(DataRelation relation); public DataRow GetChildRows(DataRelation relation); public DataRow GetChildRows(DataRelation relation);
public DataRow GetChildRows(DataRelation relation, DataRowVersion version); public DataRow GetChildRows(DataRelation relation, DataRowVersion version); public DataRow GetChildRows(DataRelation relation, DataRowVersion version);
public string GetColumnError(string columnName); public string GetColumnError(string columnName); public string GetColumnError(string columnName);
public string GetColumnError(DataColumn column); public string GetColumnError(DataColumn column); public string GetColumnError(DataColumn column);
public string GetColumnError(int columnIndex); public string GetColumnError(int columnIndex); public string GetColumnError(int columnIndex);
public DataColumn GetColumnsInError(); public DataColumn GetColumnsInError(); public DataColumn GetColumnsInError();
public DataRow GetParentRow(string relationName, DataRowVersion version); public DataRow GetParentRow(string relationName, DataRowVersion version); public DataRow GetParentRow(string relationName, DataRowVersion version);
public DataRow GetParentRow(string relationName); public DataRow GetParentRow(string relationName); public DataRow GetParentRow(string relationName);
public DataRow GetParentRow(DataRelation relation, DataRowVersion version); public DataRow GetParentRow(DataRelation relation, DataRowVersion version); public DataRow GetParentRow(DataRelation relation, DataRowVersion version);
public DataRow GetParentRow(DataRelation relation); public DataRow GetParentRow(DataRelation relation); public DataRow GetParentRow(DataRelation relation);
public DataRow GetParentRows(string relationName, DataRowVersion version); public DataRow GetParentRows(string relationName, DataRowVersion version); public DataRow GetParentRows(string relationName, DataRowVersion version);
public DataRow GetParentRows(string relationName); public DataRow GetParentRows(string relationName); public DataRow GetParentRows(string relationName);
public DataRow GetParentRows(DataRelation relation); public DataRow GetParentRows(DataRelation relation); public DataRow GetParentRows(DataRelation relation);
public DataRow GetParentRows(DataRelation relation, DataRowVersion version); public DataRow GetParentRows(DataRelation relation, DataRowVersion version); public DataRow GetParentRows(DataRelation relation, DataRowVersion version);
public bool HasVersion(DataRowVersion version); public bool HasVersion(DataRowVersion version); public bool HasVersion(DataRowVersion version);
public bool IsNull(DataColumn column); public bool IsNull(DataColumn column); public bool IsNull(DataColumn column);
public bool IsNull(int columnIndex); public bool IsNull(int columnIndex); public bool IsNull(int columnIndex);
public bool IsNull(string columnName); public bool IsNull(string columnName); public bool IsNull(string columnName);
public bool IsNull(DataColumn column, DataRowVersion version); public bool IsNull(DataColumn column, DataRowVersion version); public bool IsNull(DataColumn column, DataRowVersion version);
public void RejectChanges(); public void RejectChanges(); public void RejectChanges();
public void SetAdded(); public void SetAdded(); public void SetAdded();
public void SetColumnError(int columnIndex, string error); public void SetColumnError(int columnIndex, string error); public void SetColumnError(int columnIndex, string error);
public void SetColumnError(DataColumn column, string error); public void SetColumnError(DataColumn column, string error); public void SetColumnError(DataColumn column, string error);
public void SetColumnError(string columnName, string error); public void SetColumnError(string columnName, string error); public void SetColumnError(string columnName, string error);
public void SetModified(); public void SetModified(); public void SetModified();
public void SetParentRow(DataRow parentRow, DataRelation relation); public void SetParentRow(DataRow parentRow, DataRelation relation); public void SetParentRow(DataRow parentRow, DataRelation relation);
public void SetParentRow(DataRow parentRow); public void SetParentRow(DataRow parentRow); public void SetParentRow(DataRow parentRow);
protected void SetNull(DataColumn column); protected void SetNull(DataColumn column); protected void SetNull(DataColumn column);

一致:36 / 差:0

■ 合計

完全に一致!

一致:49 / 差:0
という結果になりました。

古くからの .NET Framework ユーザーには DataTable/DataRow を愛している方も多いですが、これなら安心ですね!

ただし、今回までで DataTable と DataRow クラスだけを比較しています。実は、DataTable に関する機能はそれだけでは語り切れないのでそのあたりは、今後また確認して行こうと思います。